引言
jenkins+gags 所有采用Docker安裝,經過jenkins插件ssh調用外部Docker構建
主要實現功能:
git代碼提交至Gogs,Jenkins自動構建至Dockergit
必要條件
1.Centos 7
2.Docker(題主18.06.1-ce)
3.Dot Net Core(2.1.4 ) .Net Core世界第一☝️不接受反駁🤐 😜github
安裝Jinkins
鏡像傳送門 https://hub.docker.com/r/jenkins/jenkins/web
1.拉取jenkins
docker pull jenkins/jenkins
2.啓動Docker容器docker
#新建文件夾 mkdir /var/jenkins #賦予權限 chmod 777 /var/jenkins
docker run -p 8080:8080 -p 50000:50000 -d -v /var/jenkins:/var/jenkins_home --name myjenkins jenkins/jenkins
3.打開瀏覽器配置jenkins
http://xxxx:8080 (8080對應上面映射的本地端口)
shell
4.查看管理員密碼瀏覽器
docker logs myjenkins 或 進入myjenkins容器 docker exec -it myjenkins bash 輸入上圖紅色路徑 cat xxxxx 複製密碼輸入
5.安裝推薦插件 (等待安裝完成)
bash
6.配置管理員密碼
mvc
7.安裝完成
app
8.安裝Publish Over SSH
進入系統管理-》插件管理-》可選插件 搜索Publish Over SSH 直接安裝ssh
9.配置Publish Over SSH
進入系統管理-》系統設置 找到Publish Over SSH
安裝Gogs(此步驟可忽略,能夠gitlab或者github、svn)
鏡像傳送門 https://hub.docker.com/r/jenkins/jenkins/
1.拉取Gogs
docker pull gogs/gogs
2.啓動Docker容器
#新建文件夾 mkdir -p /var/gogs #賦予權限 chmod 777 /var/gogs
docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
3.打開瀏覽器配置gogs
http://xxxx:10080 (10080對應上面映射的本地端口)
dotnet new mvc --name helloCore
# git init # git add . # git commint -m 」提交「 # git remote add origin {遠程倉庫地址} # git push -u origin master
在項目根目錄配置DockerFile
``` FROM microsoft/aspnetcore-build as build-env WORKDIR /code COPY *.csproj ./ RUN dotnet restore COPY . ./ RUN dotnet publish -c Release -o out FROM microsoft/aspnetcore WORKDIR /app COPY --from=build-env /code/out ./ EXPOSE 80 ENTRYPOINT [ "dotnet", "helloCore.dll" ] ```
在項目根目錄配置docker-compose.yml
```
version: '3'
services: web: build: . container_name: 'helloCore' ports: - '8888:80' ```
配置jenkins任務
1.新建自由任務
2.配置git或者svn
3.添加構建步驟
#代碼以下 docker stop helloCore; #中止已存在的容器 docker rm helloCore; #刪除容器 cd /var/jenkins/workspace/helloCore; #進入jenkins拉取目錄 pwd; docker-compose up --build -d;#執行docker-compose構建 docker images;
4.一鍵構建
5.查看構建控制檯
若是構建有錯誤,需按控制檯錯誤修復
6.預覽