代码构建发布系统-jenkins实战

代码构建发布系统-jenkins实战

实验环境准备:

  1. 准备3台机器(centos7及以上)
  2. 硬件:

Jenkins >=1G(联网)(目的是为了下载插件)

Gitlab >=1G(联网)(目的是为了下载插件)

Tomcat >=1G

  1. 主机配置信息

172.16.20.10 node1.xkops.com node1 #role: jenkins

172.16.20.20 node2.xkops.com node2 #role: gitlab

172.16.20.30 node3.xkops.com node3 #role: tomcat

  1. 关闭firewalld和selinux

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

sed -i 's;Enforcing;diabled;g' /etc/selinux/config

一、 传统代码构建发布流程

  1. 研发获取软件包(test.war)
  2. 部署jdk/tomcat

[root@node3 ~]# rpm -ivh jdk-8u65-linux-x64.rpm

[root@node3 ~]# tar xf apache-tomcat-8.0.45.tar.gz -C /usr/local/

[root@node3 ~]# cd /usr/local/apache-tomcat-8.0.45/

[root@node3 apache-tomcat-8.0.45]# rm -rf webapps/*

 

  1. 部署war包,启动服务

[root@node3 apache-tomcat-8.0.45]# cp /root/test.war webapps/

[root@node3 apache-tomcat-8.0.45]# bin/startup.sh

  1. 浏览器访问

二、 互联网代码构建发布流程

•通过docker部署代码托管系统(gitlab)

  1. node2上安装docker相关软件

[root@node2 ~]# yum -y install docker

  1. 启动docker服务

[root@node2 ~]# systemctl start docker

  1. docker基本操作

•查看镜像信息

[root@node2 ~]# docker images

•下载镜像

[root@node2 ~]# docker pull centos

  1. 导入镜像

•导入镜像

[root@node2 ~]# docker load < gitlab-ce.tar

•更改镜像标签

[root@node2 ~]# docker images

[root@node2 ~]# docker tag ab61 gitlab

  1. 修改ssh服务端口(22 –> 10086)
  2. 启动gitlab容器

docker run --detach

--hostname node2.xkops.com

--publish 443:443 --publish 80:80 --publish 22:22

--name gitlab

--restart always

--volume /srv/gitlab/config:/etc/gitlab

--volume /srv/gitlab/logs:/var/log/gitlab

--volume /srv/gitlab/data:/var/opt/gitlab

gitlab

•gitlab/git操作

  1. 浏览器访问gitlab,修改root密码

 

用户名:root 密码设置:admin888

  1. 创建用户(tivens)
  2. 创建组(test)
  3. 创建组项目
  4. node1上克隆test项目,并上传程序代码。

    [root@node1 ~]# yum -y install git.x86_64   ##自己添加

[root@node1 ~]# git config --global user.name "运维人员01"

[root@node1 ~]# git config --global user.email "tivens@xkops.com"

[root@node1 ~]# git clone git@172.16.20.20:test/test.git

克隆前,需要将密钥设置好

设置密钥: cat ~/.ssh/id_rsa.pub

将内容复制到

 

[root@node1 ~]# cd test/

[root@node1 test]# cp /tmp/test/* -r .

[root@node1 test]# git add .

参考图

[root@node1 test]# git commit -m 'add program files'
                     将创建的文件保存到本地仓库

[root@node1 test]# git push -u origin master

                    将文件上传至gitlab上

  1. 浏览器访问172.16.20.20,查看项目代码。

•如何手动构建代码

  1. node1上克隆代码

[root@node1 ~]# cd /opt

[root@node1 opt]# git clone git@172.16.20.20:test/test.git

  1. 安装jdk

[root@node1 ~]# rpm -ivh jdk-8u65-linux-x64.rpm

  1. 安装maven工具(这个工具的作用?)

[root@node1 ~]# tar -xf apache-maven-3.5.0-bin.tar.gz -C /usr/local/

    创建mvn.sh 文件,目的设置环境变量文件

   [root@node1 ~]# cat /etc/profile.d/mvn.sh

export PATH=/usr/local/apache-maven-3.5.0/bin:$PATH

echo "export PATH=/usr/local/apache-maven-3.5.0/bin:$PATH" > /etc/profile.d/mvn.sh

[root@node1 ~]# source /etc/profile.d/mvn.sh

  1. 使用maven构建代码

[root@node1 ~]# cd /opt/test/

[root@node1 test]# mvn clean package  //目的作用看下文  卡了!

执行顺序:

1、使用清理插件:maven-clean-plugin:2.5执行清理删除已有target目录(版本2.5);

2、使用资源插件:maven-resources-plugin:2.6执行资源文件的处理(版本2.6);

3、使用编译插件:maven-compiler-plugin:3.1编译所有源文件生成class文件至targetclasses目录下(版本3.1);

4、使用资源插件:maven-resources-plugin:2.6执行测试资源文件的处理(版本2.6);

5、使用编译插件:maven-compiler-plugin:3.1编译测试目录下的所有源代码(版本3.1);

6、使用插件:maven-surefire-plugin:2.12运行测试用例(版本2.12);

7、使用插件:maven-jar-plugin:2.4对编译后生成的文件进行打包,包名称默认为:artifactId-version,比如本例生成的jar文件:rtp-front-1.0-SNAPSHOT,包文件保存在target目录下(这个生成的包不能在命令行中直接执行,因为我们还没有入口类配置到Manifest资源配置文件中去,后续会阐述)。

备注:

不管是compile、package还是install等前三个步骤都是必不可少的。

 

  1. 构建后的代码产物

[root@node1 test]# ls target/test.war

•CI/CD工具部署使用(jenkins)

  1. node1上进行操作,安装tomcat

[root@node1 ~]# tar xf apache-tomcat-8.0.45.tar.gz -C /usr/local/

[root@node1 ~]# cd /usr/local/apache-tomcat-8.0.45/

[root@node1 apache-tomcat-8.0.45]# rm -rf webapps/*

  1. 安装部署jenkins,启动tomcat服务

[root@node1 apache-tomcat-8.0.45]# cp /root/jenkins.war ./webapps/

[root@node1 apache-tomcat-8.0.45]# bin/startup.sh

  1. 浏览器访问

http://172.16.20.10:8080/jenkins/

  1. 安装完成后的界面

cat /root/.jenkins/secrets/initialAdminPassword  查询首次登录密码

进入后,修改admin用户密码

 

  1. 安装插件

点击系统管理-> 管理插件 –> 可选插件

问题1:无法安装插件

问题2:把原来的tomcat删除后,重启tomcat,以及重启虚拟机,jenkins一直无法启动;是因为删除后,原来的端口还在使用着,致使无法再次启动,此错误是由于8080端口被占用, 

改变端口再次执行,

java -jar jenkins.war --httpPort=$HTTP_PORT, 例如java -jar jenkins.war --httpPort=1080

启动成功;

后打开浏览器,输入http:/localhost:1080,即可看到jenkins的页面

 

Maven Integration plugin  MVN集成插件)

Publish Over SSH   

  1. Global Tool Configuration

 

  1. 系统设置

 

  1. 添加git用户密码

 

  1. 新建一个maven项目,并配置构建,发布参数。

 

 

 

 

  1. 浏览器访问

 

记录点滴
原文地址:https://www.cnblogs.com/fuzhongfaya/p/8948076.html