centos+.net core+docker+jenkins 自动发布

1.安装docker
2.下载 jenkins 镜像
3.启动 jenkins 容器
 
注意: 需要在 jenkins 容器 可以使用宿主机的Docker的命令,需要启动 jenkins 容器的时候 使用 -v(volume )命令挂载docker命令,将jenkins容器内的docker命令指向了宿主机
 
docker run --name my-jenkins -p 8080:8080 -e TZ="Asia/Shanghai" --restart=always -u root -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -d jenkins/jenkins:lts

  

 
注意这两个volume参数(将jenkins容器内的docker命令指向了宿主机):
-v /var/run/docker.sock:/var/run/docker.sock
-v $(which docker):/usr/bin/docker
 
-u 指定该容器执行用户,因为我们要在容器中使用宿主机的docker命令,所以需要具有权限,我这里直接指定root用户,如果不指定用户的话,需要新增一个用户jenkins 添加权限
 
在容器执行docker命令 可能会遇到用户权限问题 是因为没指定jenkins的当前执行用户
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied
 
docker exec -it my-jenkins basn 进入容器内部 使用宿主机的docker 命令
 
4.进入jenkins 管理后台
1)安装插件: gitee, 详细配置可参考: https://gitee.com/help/articles/4193#article-header6

 

 

2)新建任务,配置gitee地址,

 

 

3)配置Gitee webhook地址 ,选择git推送代码触发构建

 

 

4)构建任务
 

 

 

 
#!/bin/bash
# 获取短版本号
GITHASH=`git rev-parse --short HEAD`
docker stop my-aliyunHelper
docker rm my-aliyunHelper
docker build -t aliyunhelper:$GITHASH .
docker tag aliyunhelper:$GITHASH aliyunhelper:latest
docker run --name my-aliyunHelper -d -p 4000:80 aliyunhelper:latest

  

 
5.配置完成后,测试构建是否成功,点击构建历史可以看到执行过程,如果构建失败,请检查构建代码  
 
 
 

 

 

 

 

6.测试网站是否正常访问

本地修改完代码后,git push ,看下是否正常构建,是否可以访问网站,

 

 

 

 

 

 
posted @ 2020-08-22 09:54  王立新  阅读(193)  评论(0编辑  收藏  举报