基于centos7 + jenkins + docker + svn + 阿里云私有仓库构建持续集成环境

前提准备

  1. 本文档的所有操作都是基于root用户,非root用户请添加sudo命令。
  2. 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

显示Yes表示开启对外访问

  • 测试
# docker -H localhost:5678 version

如下显示表示已开启Docker Remote APi


安装并初始化jenkins


这里写图片描述
  • 安装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镜像

访问 http://ip:8080/

  1. 获取administrator password并拷贝多对应的输入框
# cat /data/jenkins/secrets/initialAdminPassword

这里写图片描述

  1. 选择默认插件
    这里写图片描述

    1. 创建Admin的账户以及密码
      这里写图片描述
    2. 安装可选插件Docker以及SSH

      系统管理->管理插件
      点击可选插件,搜索Docker 以及 SSH并进行勾选
      点击直接安装
      安装时构建,安装完成重启
      这里写图片描述
      这里写图片描述

    3. 安装Maven

系统管理-> Global Tool Configuration
在maven区域选择新增
选择自动安装并设置对应的名称以及版本

这里写图片描述

6、完成系统配置

系统管理->系统配置
配置SSH remote hosts: 配置成需要最终部署的服务器地址。用于远程执行服务器的启动命令
配置云->Docker: 配置成jenkins所在服务的Docker地址(上面的开启Docker Remote Api对应的地址:tcp://ip:5678)
这里写图片描述
这里写图片描述

创建Jenkins的任务

  1. 选择Jenkins的任务模板

创建一个自由风格的任务

这里写图片描述

  1. 配置源码管理

    选择SVN的工程访问地址
    这里写图片描述
    示例代码 密码:73r5

  2. 配置构建步骤

    配置Invoke top-level Maven targets:通过maven进行编译打包
    配置Build/Push Docker image: 通过Docker实现对Dockerfile(工程目录中)进行构建以及发送到阿里云docker仓库
    配置Execute Shell Script on Remote Host using ssh: 通过SSH连接远程服务器,并执行拉取镜像一起启停镜像操作
    需要在阿里云上创建对应的仓库阿里云仓库管理

这里写图片描述

  1. 保持并立即执行
    这里写图片描述

  2. 查看执行过程以及结果
    这里写图片描述

    备注:首次运行可能耗时比较长,需要下载maven以及各种依赖。

结论

  1. 其中Jenkins的数据到保存到 /data/jenkins:/var/jenkins_home。可以通过vi命令去修改Maven的镜像仓库。
  2. 通过SSH远程执行命令可以根据实际场景去修改,比如通过docker compose进行构建
  3. 阿里Docker镜像仓库需要设置为开发的,否则拉取的时候需要设置对应的账户密码
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值