一、搭建jenkins环境
1、下载jenkins镜像https://hub.docker.com/r/jenkins/jenkins/tags,选择lts的jenkins最新版本
docker pull jenkins/jenkins:lts
2、/home下新建jenkins用户的工作目录,这一步最好保持目录一致
mkdir /home/jenkins
3、查看目录归属ID命令 ls -nd /home/jenkins ,这里查看ID是0
上述步骤有的查出来ID是1000,无论是0还是1000均给ID为1000的用户添加操作权限
chown -R 1000:1000 /home/jenkins/
4、运行容器
docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins/jenkins:lts
- --privileged=true 让容器有root权限,方便进入容器操作
- -p 9090:8080 jenkins的web访问端口9090
- -v /home/jenkins:/var/jenkins_home 容器/var/jenkins_home路径映射到宿主机/home/jenkins
5、浏览器输入http://服务器ip:9090/
访问jenkins首页(使用阿里云的话访问前记得先开放端口)
首次启动需要输入密码
启动容器的时候容器/var/jenkins_home路径映射到宿主机/home/jenkins,在宿主机的/home/jenkins/secrets/initialAdminPassword地址可以找到密码
接下来选择左侧安装推荐的插件,
二、通过SSH配置linux宿主机为slave节点
jenkins是搭建在docker容器里,运行job的时候默认会在容器内部运行代码,相关的依赖环境python等需要在docker容器重新安装一遍,这样很不方便。
如果宿主机已经安装好相关的运行环境了,docker容器我们搭建好jenkins就行了, 把宿主机设置为jenkins的一个slave节点
1、插件管理中查找SSH Agent进行安装
2、启动SSH Sever
Jenkins-系统管理 - 全局安全配置, 把 SSH Server 设置为启用(默认是禁用)
3、新增宿主机节点
Jenkins- 系统管理 - 节点管理,新建节点
添加节点页面
- 名称 自定义一个节点名称
- 执行器数量 可以同时执行的job线程数,随便写个数字
- 远程工作目 宿主机上workspace目录
- 标签 自定义
- 用法 尽可能的使用这个节点
- 启动方式 Launch agent agents via SSH
- 主机 你自己的宿主机linux服务的ip
- Credentials 添加你的linux服务器远程访问的root账号和密码
- Host Key Verification Strategy 这项选择Non verifying Verifcation Stragegy
添加证书Credentials,linux服务器远程访问的root账号和密码
4、 添加成功后是离线状态,点击节点进入详情操作“重启代理”。没有红色了代表已经正常启动了
5、新建任务job在新建的节点下构建
三、拉取git仓库代码
1、任务-源码管理:
2、执行构建
先查找到工作目录:
修改shell执行命令执行,会在当前的工作目录下开始执行: