1. 程式人生 > >Docker+Jenkins+Gogs 自動構建.Net Core

Docker+Jenkins+Gogs 自動構建.Net Core

mkdir -p 文件夾 系統設置 bash 端口 瀏覽器 上傳 jenkins 新建

Docker+Jenkins+Gogs 自動構建.Net Core


引言
jenkins+gags 全部采用Docker安裝,通過jenkins插件ssh調用外部Docker構建
主要實現功能:
git代碼提交至Gogs,Jenkins自動構建至Docker

必要條件
1.Centos 7
2.Docker(題主18.06.1-ce)
3.Dot Net Core(2.1.4 ) .Net Core世界第一??不接受反駁?? ??


  1. 安裝Jinkins
    鏡像傳送門 https://hub.docker.com/r/jenkins/jenkins/

    1.拉取jenkins
    docker pull jenkins/jenkins


    2.啟動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對應上面映射的本地端口)
    技術分享圖片

    4.查看管理員密碼

    docker logs myjenkins
    或
    進入myjenkins容器
    docker exec -it myjenkins bash
    輸入上圖紅色路徑
    cat xxxxx 復制密碼輸入

    5.安裝推薦插件 (等待安裝完成)
    技術分享圖片

    6.配置管理員密碼
    技術分享圖片

    7.安裝完成
    技術分享圖片

    8.安裝Publish Over SSH
    進入系統管理-》插件管理-》可選插件 搜索Publish Over SSH 直接安裝

    9.配置Publish Over SSH
    進入系統管理-》系統設置 找到Publish Over SSH
    技術分享圖片

  2. 安裝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對應上面映射的本地端口)
    技術分享圖片

  3. 創建.Net Core 項目並上傳至gogs git
    dotnet new mvc --name helloCore
    進入項目目錄上傳至git
    # 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‘

```
  1. 配置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.預覽
技術分享圖片

致此

Docker+Jenkins+Gogs 自動構建.Net Core