前提准备
- 本文档的所有操作都是基于root用户,非root用户请添加sudo命令。
- Centos7 默认已完成网络配置以及完成依赖跟新
# yum update
安装Docker
参考Docker官网Centos7安装
未安装Docker的操作命令如下:
- 下载Docker
# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce
- 启动Docker
# systemctl start docker
- 测试
# docker run hello-world
显示如下内容表示Docker安装成功
开启Docker Remote API
本文的jenkins是基于Docker的jenkins镜像进行安装
jenkins通过连接本机的Docker完成对应用程序的Dockerfile编译以及推送到阿里云的私有Docker仓库
- 查看配置文件地址
# systemctl show --property=FragmentPath docker
- 编辑配置文件内容,接收所有ip请求
# vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:5678
- 重新加载配置文件
# systemctl daemon-reload
# systemctl restart docker
- 开启防火墙的端口
# firewall-cmd --zone=public --add-port=5678/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --zone=public --query-port=5678/tcp
- 测试
# docker -H localhost:5678 version
安装并初始化jenkins
- 配置阿里云Docker镜像仓库
访问该地址查看阿里云镜像管理
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/77c0b7c86b775b3a4d1c4a44060c23c8.png)
- 安装jenkins镜像
# docker pull jenkins
# cd /
# mkdir data
# cd data
# mkdir jenkins
# chmod -R 777 jenkins
# docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /data/jenkins:/var/jenkins_home --restart unless-stopped jenkins
- 安装jenkins镜像
- 获取administrator password并拷贝多对应的输入框
# cat /data/jenkins/secrets/initialAdminPassword
选择默认插件
- 创建Admin的账户以及密码
安装可选插件Docker以及SSH
系统管理->管理插件
点击可选插件,搜索Docker 以及 SSH并进行勾选
点击直接安装
安装时构建,安装完成重启
安装Maven
- 创建Admin的账户以及密码
系统管理-> Global Tool Configuration
在maven区域选择新增
选择自动安装并设置对应的名称以及版本
6、完成系统配置
系统管理->系统配置
配置SSH remote hosts: 配置成需要最终部署的服务器地址。用于远程执行服务器的启动命令
配置云->Docker: 配置成jenkins所在服务的Docker地址(上面的开启Docker Remote Api对应的地址:tcp://ip:5678)
![]()
创建Jenkins的任务
- 选择Jenkins的任务模板
创建一个自由风格的任务
配置源码管理
选择SVN的工程访问地址
示例代码 密码:73r5配置构建步骤
配置Invoke top-level Maven targets:通过maven进行编译打包
配置Build/Push Docker image: 通过Docker实现对Dockerfile(工程目录中)进行构建以及发送到阿里云docker仓库
配置Execute Shell Script on Remote Host using ssh: 通过SSH连接远程服务器,并执行拉取镜像一起启停镜像操作
需要在阿里云上创建对应的仓库阿里云仓库管理
保持并立即执行
查看执行过程以及结果
备注:首次运行可能耗时比较长,需要下载maven以及各种依赖。
结论
- 其中Jenkins的数据到保存到 /data/jenkins:/var/jenkins_home。可以通过vi命令去修改Maven的镜像仓库。
- 通过SSH远程执行命令可以根据实际场景去修改,比如通过docker compose进行构建
- 阿里Docker镜像仓库需要设置为开发的,否则拉取的时候需要设置对应的账户密码