一、当前环境及安装
1、Ubuntu 16.04.2
2、安装Docker [ https://www.jianshu.com/p/840145c78568 ]
3、安装docker-compose[ https://www.jianshu.com/p/840145c78568 ]
二、使用 docker-compose 快速安装Jenkins
1、创建 自定义 目录并设置权限
$ mkdir /home/jenkins #将jenkins服务目录挂载到宿主机的目录
$ sudo chown -R 1000 /home/jenkins #把当前目录的拥有者赋值给uid 1000
$ cd /home/jenkins/
$ touch docker-compose.yml #创建docker-compose文件
$ vim docker-compose.yml #写入docker-compose文件
docker-compose.yml文件
version: '3'
services:
docker_jenkins: # 容器名称,根据实际修改
restart: always # 开启此选项,在机器重启后,会自动启动这些容器,否则,就要手动启动容器
image: jenkins/jenkins:lts # 镜像名,如果不存在,则从网络下载
container_name: docker_jenkins # 容器名,在运行名称是唯一的
ports: # 端口映射
- "8080:8080"
- "50000:50000"
volumes: # 挂载数据卷,对应docker run命令的-v选项。
- ./jenkins_home/:/var/jenkins_home #jenkins服务目录挂载到宿主机的自定义目录
- /usr/bin/docker:/usr/bin/docker #将主机 docker 映射到容器内,以便在jenkins脚本里执行docker
- /var/run/docker.sock:/var/run/docker.sock
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
- /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
- docker在容器内构建的时候,会出现权限不够。可以在宿主机中使用以下方式解决:
#注意,目前这个方法,只要docker服务重启, 就需要重新设置一次,有一次性的方法 还请留言指教
$ sudo chmod 777 /var/run/docker.sock
$ sudo chmod 777 /usr/local/bin/docker-compose
2、构建Jenkins服务
$ docker-compose up -d // cd至docker-compose.yml文件目录执行
// 访问 http://你的ip:8080 进行初始化
$ docker logs docker_jenkins //查看访问日志,即可查看到登录令牌
- 注:如若不小心,未创建新的账户,可通过查看挂载目录下的 /secrets/initialAdminPassword 中的 Key 作为密码登录,前提是你有挂载目录到宿主机
账户:admin
密码:cat ./data/secrets/initialAdminPassword
三、创建一个简单的asp.net core 项目
1、创建 asp.net core 项目
2、配置asp.net core项目
3、将代码提交到码云git仓库
四、配置Jenkins
1、插件安装
- 前往 Manage Jenkins -> Manage Plugins -> Available
- 右侧 Filter 输入: Gitee
- 下方可选列表中勾选 Gitee
-
点击 Download now and install after restart
2、简单配置 Jenkins的 码云 插件
- 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
- 在
Connection name
中输入Gitee
或者你想要的名字 -
Gitee host URL
中输入码云完整 URL地址:https://gitee.com
(码云私有化客户输入部署的域名) -
Credentials
中如还未配置码云 APIV5 私人令牌,点击Add
- >Jenkins
-
Domain
选择Global credentials
-
Kind
选择Gitee API Token
-
Gitee API Token
输入你的码云私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens -
ID
,Descripiton
中输入你想要的 ID 和描述即可。
-
-
Credentials
选择配置好的 Gitee APIV5 Token - 点击
Test Connection
测试链接是否成功
配置成功后如图所示:
详细配置请看官方文档:
https://gitee.com/help/articles/4193#article-header0
需要其他git方案的配置需去查看官方文档
五、新建Jenkins 构建任务
1、新建任务
前往 Jenkins -> New Item , name 输入 ' test',选择 Freestyle project 保存即可创建构建项目。
2、源码管理配置
- 点击 Git
- 输入你的仓库地址,例如 https://gitee.com/yangqianming/test.git
3、触发器配置
- Enabled Gitee triggers 勾选您所需要的构建触发规则
- Secret Token for Gitee WebHook 该选项可以配置 WebHook 的密码,该密码需要与码
云 WebHook配置的密码一致方可触发构建。
4.1、构建脚本
pwd #打印当前路径
### 此处只是简单的测试jenkins构建。所以构建后的产物只是简单的发布到本地机器。仅做demo演示
docker-compose build
docker-compose up -d
#构建完成后删除中间镜像
echo y|docker image prune
4.2、SSH构建脚本
cd /home/dayun_erp/dayun_erp_server
#docker-compose down
docker-compose build
docker-compose up -d
echo y|docker image prune