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 ,看下是否正常构建,是否可以访问网站,