基于Docker构建Jenkins CI平台

相关概念

  • 持续集成: CI(Continuous Integration) :代码合并,构建,部署,测试,不断的执行这个过程,并且对执行结果反馈。
  • 持续部署: CD (Continuous Deployment) :部署到测试环境,预生产环境,生产环境。
  • 持续交付:将最终产品部署到生产环境给用于使用.
  • 高效的CI/CD环境有一下好处:
    • 及时发现问题
    • 大幅度减少故障率
    • 加快迭代速度
    • 加少开发成本

CI流程


CI流程

相关技术

  • jenkins:持续集成工具
  • docker: 应用运行容器
  • docker-compose:微服务编排(或者采用k8s)
  • harbor: 容器镜像仓库(或者采用阿里云镜像仓库)
  • git:代码管理工具
  • maven: 项目构建工具

具体实施

189机器 安装 harbor(docker,docker-compose) git
188机器 安装 jenkins docker,jdk,maven

  • 部署GIT代码版本仓库 (189)
# yum install git -y
# useradd git
# passwd git
# su - git
# mkdir demo.git
# cd demo.git/
# git --bare init

Jenkins主机测试访问该仓库:

# git clone [email protected]:/home/git/demo.gi
  • 上传JAVA代码 (188)
    模拟生产项目,拉取github上的一个demo,并上传至本地git库
cd /data0/docker/example
git clone   ...
cd demo
cp -rf ../tomcat-java-demo/* ./
git add .
git commit -m "all"
git push origin master
  • 部署Harbor镜像仓库
    安装步骤参考:https://blog.csdn.net/weixin_41465338/article/details/80146218

  • 配置JDK和MAVEN环境

tar zxvf jdk-8u45-linux-x64.tar.gz
mv jdk1.8.0_45 /usr/local/jdk
tar zxf apache-maven-3.5.0-bin.tar.gz
mv apache-maven-3.5.0 /usr/local/maven
vim /etc/profile
#以下为添加到文件中的内容
#JAVA_HOME=/usr/local/jdk
#PATH=$PATH:$JAVA_HOME/bin:/usr/local/maven/bin
#export JAVA_HOME PATH

#保存退出,并将文件生效 
source /etc/profile
  • 安装Jenkins
    官网: https://jenkins.io/zh/download/
    安装包:http://mirrors.jenkins.io/war-stable/latest/jenkins.war
 ## 软件安装目录/data0/software
mkdir -p /data0/java
tar -zxvf apache-tomcat-8.0.46.tar.gz -d /data0/java/
cd /data0/java
mv apache-tomcat-8.0.46 tomcat-jenkins
rm -rf /data0/java/tomcat-jenkins/webapps/*
mkdir -p /data0/java/tomcat-jenkins/webapps/ROOT
cd /data0/software
unzip jenkins.war -d /data0/java/tomcat-jenkins/webapps/ROOT
  • 最后启动tomcat
    打开页面:http://192.168.1.188:8080
    使用默认用户密码登录,设置跳过插件安装、用户设置、实例配置,然后重新进行登录

    配置Git、pipeline 两个插件,首先需要在高级设置里头将插件更新源改成国内的地址(这里采用清华园的地址)
    image.png

地址改成:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,提交之后,进行测试检验。

update-center.json 仍旧使用国外网站,需要进行修改,参考:http://www.bubuko.com/infodetail-3175110.html

  • 创建项目


查看并生成pipeline 拉取代码的脚本信息


需要选定ssh证书,好让它自动链接认证
ssh-keygen


  • ls /root/.ssh

将公钥推送到git服务器上,git密码 a123456
#ssh-copy-id [email protected]


  • 生成拉取代码脚本配置步骤如:


  • 添加git凭证

  • 添加分支参数,以便拉取代码分支,另外环境、镜像版本,也可以通过参数传递的方式写入
  • 更新pipeline代码
  • 最后保存,构建项目

你可能感兴趣的:(基于Docker构建Jenkins CI平台)