Jenkins自動化部署 .net core

總體流程

docker版

k8s in rancher版git

準備基礎軟件

Gogsgithub

docker run -d -p 10022:22 -p 10080:3000 \ 
--name=gogs --net=gogs \ 
-v /opt/docker/gogs/:/data \ 
gogs/gogs
複製代碼

Rancherweb

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable
複製代碼

Jenkinsdocker

https://hub.docker.com/r/carsonf/jenkinsci_jenkins
https://github.com/CarsonFjz/ci-jenkins-with-docker //構建源碼,可本身定製其餘
複製代碼

Jenkins docker

1.初始密碼在 /jenkins_home/secrets/initialAdminPassword 這個文件

2.完成初始化後 在左邊列表 [系統管理->插件管理] 下載安裝插件並重啓jenkins

可選插件那裏安裝Gogs和Git Parameter,而後重啓jenkins安全

3.新建項目

4.在Gogs配置一個鉤子

推送地址:http://[jenkins url]/gogs-webhook/?job=[project name]bash

5.在Jenkins的項目配置

6.編輯本身的dockerfile和docker-compose.yml

docker-compose.ymlapp

ps: ${GIT_BRANCH}是獲取git分支名稱less

version: '3.3'

services: 
  webapp:
    restart: always
    image: "${GIT_BRANCH}/webapp"
    build:
      context: WebApplication1/.
      dockerfile: Dockerfile
    container_name: webapptest
    ports:
      - "8085:8085"
複製代碼

dockerfilewebapp

根據本身實際狀況進行構建ui

FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 8085

FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY . .
RUN dotnet restore "WebApplication1.csproj"
RUN dotnet build "WebApplication1.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]
複製代碼

Jenkins k8s

1.構建鏡像

同上1-5

2.推送鏡像到dockerhub

若是須要安全性可本身搭建dockerhub(harbor) //////待續

相關文章
相關標籤/搜索