本文共 6309 字,大约阅读时间需要 21 分钟。
持续集成(continuous Intergration,CI):代码合并、构建、部署、测试都在一起,不断地执行这个过程,并对结果反馈
持续部署(Continuous Deployment,CD):部署到测试环境,预生产环境、生产环境
持续交付(Continuous Delivery,CD):将最终产品发布到生产环境,给用户使用
CI/CD示意图
CI/CD环境搭建 环境规划: 基础镜像需要有java.jdk环境 和tomcat服务 habor:172.16.16.200 git:172.16.16.90 jenkins:172.16.16.100一、搭安装docker配置云的docker-ce源:# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# Step 3: 更新并安装Docker-CEsudo yum makecache fastsudo yum -y install docker-ce# Step 4: 开启Docker服务sudo service docker start
安装docker:
yum install docker-ce 查看版本 docker -v二、安装harbor
1、将harbor的压缩包解压 tar zxvf harbor-offline-installer-v1.10.1.tgz cd /harbor2、编辑habor配置文件
vi harbor.yml修改hostname: 192.168.70.101(一般为本虚拟机的IP)ui_url_protocol : http
3、运行prepare
./prepare
4、安装docker-compose
下载docker-composecurl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose将下载好的docker-compos给与执行性权限chmod +x /usr/local/bin/docker-compose
5、安装harbor在harbor文件下执行
./install.sh
6、安装好之后修改harbor信任权限
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.iovi /etc/docker/daemon.json{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],"insecure-registries":["172.16.16.200"]} (这里为上面设置的host名字也就是本虚拟机的IP地址)
7、重启docker,并启动所有容器
systemctl restart docker
启动docker ps -a 里查询到的所有容器
三、通过访问本机的80端口配置harbor仓库
1、选择创建项目 2、选择创建新项目 3、输入项目名称y2001选择创建 四、尝试在docker上登录并上传镜像docker login -u admin -pHarbor12345 172.16.16.200添加标签:docker tag centos7.8tomcat:v1 172.16.16.200/y2001/centos7.8tomcat:v1登录harbor仓库:docker login -uadmin -pHarbor12345 172.16.16.200注意:如果这里报错解决方法查看网络是否可以连通,查看/etc/docker/daemon.json是否有添加信任,[root@localhost ~]# vim /usr/lib/systemd/system/docker.service 是否有添加信任链接/usr/lib/systemd/system/docker.service修改配置文件添加一下代码:--insecure-registry=172.16.16.200 加上你自己设置的hostname: 127.16.16.200 //设置你的主机名添加到:ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=172.16.16.200重启:[root@123456 harbor]# systemctl daemon-reload[root@123456 harbor]# systemctl restart docker上传镜像到harbor仓库(注意这个仓库需要安装java-jdk和tomcat服务后面的jenkins服务器推送镜像需要)docker push 172.16.16.200/y2001/centos7.8tomcat:v1
在172.16.16.90主机上操作
一、安装gityum install -y git
二、创建git用户设置密码
adduser gitpasswd 123
三、创建仓库目录并初始化仓库
su – gitmkdir /home/git/demo.gitcd /home/git/demo.git//初始化git仓库git --bare init
在172.16.16.200主机上操作
一、安装jenkins所需环境1、安装mavenyum install -y maven
2、安装jdk
yum install -y java
3、安装tomcat
tar xf apache-tomcat-8.3.5.tar -C /usr/local
4、安装git和docker
yum install git配置云的docker-ce源:# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# Step 3: 更新并安装Docker-CEsudo yum makecache fastsudo yum -y install docker-ce# Step 4: 开启Docker服务sudo service docker start安装dockeryum install docker-ce查看版本docker -v
5、删除tomcat所有的网页文件并将jenkins解压到ROOT下
cd /usr/local/tomcat/webapps/ROOTrm -rf ./*unzip jenkins.war开启tomcat服务/usr/local/tomcat/bin/startup.sh
6、设置信任172.16.16.200harbor仓库
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.iovi /etc/docker/daemon.json{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],"insecure-registries":["172.16.16.200"]}systemctl restart docker
7、生成ssh密钥对传送给git仓库主机
ssh-keygenssh-copy-id git@172.16.16.90验证是否有创建成功秘钥
注意:如果这里报错解决方法查看网络是否可以连通,查看/etc/docker/daemon.json是否有添加信任,[root@localhost ~]# vim /usr/lib/systemd/system/docker.service 是否有添加信任链接/usr/lib/systemd/system/docker.service修改配置文件添加一下代码:--insecure-registry=172.16.16.200 加上你自己设置的hostname: 127.16.16.200 //设置你的主机名添加到:ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=172.16.16.200重启:[root@123456 harbor]# systemctl daemon-reload[root@123456 harbor]# systemctl restart docker
8、从共开的git仓库下载课件代码文件
cd java-demovi .git/config //.git为隐藏文件目录[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true[remote "origin"] url = git@172.16.16.90:/home/git/demo.git //将这个参数修改为自己创建的git仓库地址和仓库路径,通过ssh方式 fetch = +refs/heads/*:refs/remotes/origin/*[branch "master"] remote = origin merge = refs/heads/master
9、将java-demo课件代码上传到自己的git仓库上
git add .git commit -m “all”git push origin master
10、尝试能否在jenkins主机上上传到harbor仓库
11、打开网页访问192.168.70.100(jenkins主机)的8080端口 密码是在tomcat的logs日志中 vim catalina.out 查找密码password登录jenkis服务器上输入密码现在推荐安装:
二、选择选择安装 如果网络不好出现太多的插件安装失败可以先进入jenkins然后修改下载源,再重新下载 1、修改下载源 再选择 再选择将Update Site修改为http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json再Submit----check now
三、创建新的凭据
四、选择Store scoped to Jenkins 创建新的流水线项目 选择流水线—输入项目名称 点击:新建Item 五、选择this project is parametenzied----string Parameter 输入 Name 为 Branch —Default Value 为master ----Description 代码分支六、再最下方输入脚本
node { // 拉取代码 stage('Git Checkout') { checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '2803aef3-b8bc-456e-ab84-ad99d087a482', url: 'git@172.16.16.90:/home/git/demo.git']]]) } // 代码编译 stage('Maven Build') { sh ''' /usr/bin/mvn clean package -Dmaven.test.skip=true ''' } // 项目打包到镜像并推送到镜像仓库 stage('Build and Push Image') { sh ''' echo ' FROM 172.16.16.200/y2001/centos7.8tomcat:v1 MAINTAINER zl RUN rm -rf /usr/local/tomcat/webapps/* ADD target/*.war /usr/local/tomcat/webapps/ROOT.war ' > Dockerfile docker build -t 172.16.16.200/y2001/centos7.8tomcat:v2 . docker login -uadmin -pHarbor12345 172.16.16.200 docker push 172.16.16.200/y2001/centos7.8tomcat:v2 ''' } // 部署到Docker主机 stage('Deploy to Docker') { sh ''' docker rm -f java-demo |true docker image rm 172.16.16.200/y2001/centos7.8tomcat:v2 |true docker login -uadmin -pHarbor12345 172.16.16.200 docker run -itd --name java-demo -p 88:8080 172.16.16.200/y2001/centos7.8tomcat:v2 /bin/bash ''' }}
七、创建项目
八、访问jenkin主机的IP地址的88端口转载地址:http://fgnihz.baihongyu.com/