.net core使用Jenkins自动部署
.net core使用Jenkins自动部署
系统:CentOS Linux release 7.3.1611 (Core)
SDK:dotnet SDK 5.0
软件:Jenkins,Git,docker ce
本文档的前提是CentOS 7.3 X64系统下,且以上软件均已安装配置完成
安装Jenkins到docker
-
创建jenkins工作目录
mkdir /www/jenkins
-
拉取jenkins镜像
docker pull jenkins/jenkins:lts
-
使用docker run 命令将其作为Docker中的容器运行
docker run --name jenkins -d -p 8080:8080 -p 50000:50000 -v ~/www/jenkins/data:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock --privileged=true -u root jenkins/jenkins:lts
具体可参考安装Jenkins
-
安装后设置指导
-
解锁Jenkins当您第一次访问新的Jenkins实例时,系统会要求您使用自动生成的密码对其进行解锁。
-
浏览到
http://localhost:8080
(或安装时为Jenkins配置的任何端口),并等待 解锁 Jenkins 页面出现。 -
从Jenkins控制台日志输出中,复制自动生成的字母数字密码(在两组星号之间)。
-
登录进去以后这里默认选择推荐的插件。
-
等待安装
-
安装完成后创建一个用户名和密码,即可完成安装进入首页。
-
创建项目
-
源代码编译发布工程
源代码发布工程即将源代码提交到git服务器,jenkins通过git拉取最新的源代码,并通过Dockerfile里的配置进行编译发布过程。然后通过Docker构建此镜像并运行到容器。
可自行选择项目
git clone https://gitee.com/ZYX315/QingShan.git
Dockerfile
用于编译镜像默认的Dockerfile是有帮我们进行代码编译并发布动作的。所以默认的Dockerfile文件是适合和代码一起提交到服务器然后使用Docker进行构建镜像。
Dockerfile 文件需在根目录文件目录中
-
将代码提交到gitee中
- 将克隆下来的代码提交到自己gitee中
-
在文件
{根目录}\.git\config
中修改提交的仓库
配置Jenkins
-
新建任务 选择第一个
-
在源代码管理中使用git
- 使用你的代码仓库
-
我当前项目地址为:https://gitee.com/ZYX315/QingShan.git
-
构建触发器
- 轮询 SCM
2分钟访问gitee.com是否有提交信息
H/2 * * * *
-
构建环境
勾上
Delete workspace before build starts
-
构建
- 选择执行shell
#!/bin/bash # 获取短版本号 GITHASH=`git rev-parse --short HEAD` docker stop qs.core.webapi docker rm qs.core.webapi docker images | grep "qs.core.webapi" | awk '{print $1":"$2}' | xargs docker rmi echo ---------------Building Docker Image...------------------ docker build -t qs.core.webapi:$GITHASH . docker tag qs.core.webapi:$GITHASH qs.core.webapi:latest echo ---------------Launching Container...------------------ docker run --name qs.core.webapi -p 9999:80 -d qs.core.webapi:latest
如果无法连接mysql需要添加这段话
docker network connect my_net qs.core.webapi
根据自己的项目把qs.core.webapi
替换成自己的
-