Jenkins自动化部署 .net core

整体流程

docker版

k8s in rancher版

准备基础软件

Gogs

docker run -d -p 10022:22 -p 10080:3000 \ 
--name=gogs --net=gogs \ 
-v /opt/docker/gogs/:/data \ 
gogs/gogs
复制代码

Rancher

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable
复制代码

Jenkins

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]

5.在Jenkins的项目配置

6.编辑自己的dockerfile和docker-compose.yml

docker-compose.yml

ps: ${GIT_BRANCH}是获取git分支名称

version: '3.3'

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

dockerfile

根据自己实际情况进行构建

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) //待续

转载于:https://juejin.im/post/5cb8a1dd51882546402b217f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值