java打包自动检查代码_Jenkins去GitLab拉取Java代码自动打包

本文介绍了如何通过Jenkins自动从GitLab获取Java代码,并进行编译、打包的过程。首先,详细阐述了部署git、jdk、maven、tomcat和jenkins的步骤,接着配置jenkins的系统设置,包括安装必要的插件、配置SSH、JDK、Maven和Git路径。最后,创建了一个Jenkins Job,设置构建触发器和打包后的动作,实现自动化部署。
摘要由CSDN通过智能技术生成

jenkins的部署

一、部署git

1)先检查系统是否已经自带了git,如果有,就卸载

$ rpm -qa | grep git && rpm -e git --nodeps

2)开始安装git所需要的依赖包

$ yum -y install curl-devel gettext-devel expat-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

3)下载git源码包并安装

$ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

$ tar xvf git-2.9.5.tar.gz -C /usr/local/src

$ cd /usr/local/src/git-2.9.5/

$ make prefix=/usr/local/git all

$ make prefix=/usr/local/git install

4)修改环境变量

$ vim /etc/profile

export PATH=$PATH:/usr/local/git/bin

$ source /etc/profile

5)测试

$ git --version

git version 1.8.3.1

二、部署jdk环境

2.1. 检测是否有自带的jdk环境,如果有就卸载

$ rpm -qa | grep jdk && yum -y remove java*

2.2. 下载JDK

$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz

#wget --no-check-certificate --no-cookies --header "Cookie直接下载JDK,避免用户验证"

$ tar xvf jdk-8u181-linux-x64.tar.gz -C /usr/local/

$ mv /usr/local/jdk1.8.0_181 /usr/local/java

2.3. 修改环境变量

$ vim /etc/profile

export JAVA_HOME=/usr/local/java

export PATH=$PATH:$JAVA_HOME/bin:/usr/local/git/bin

$ source /etc/profile

2.4. 测试

$ java -version

java version "1.8.0_181"

Java(TM) SE Runtime Environment (build 1.8.0_181-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

三、部署Maven

3.1. 下载maven包

$ wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

3.2. 解压Maven

$ tar xvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

$ mv /usr/local/apache-maven-3.5.4 /usr/local/maven

3.3. 修改环境变量

$ vim /etc/profile

export JAVA_HOME=/usr/local/java

export MAVEN_HOME=/usr/local/maven

export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/git/bin

$ source /etc/profile

3.4.测试

$ mvn -version

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)

Maven home: /usr/local/maven

Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_181/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.10.0-514.26.2.el7.x86_64", arch: "amd64", family: "unix"

四、部署Tomcat

4.1. 下载Tomcat

$ wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.16/bin/apache-tomcat-9.0.16.tar.gz

4.2. 解压Tomcat

$ tar xvf apache-tomcat-9.0.16.tar.gz -C /usr/local

$ mv /usr/local/apache-tomcat-9.0.16 /usr/local/tomcat

4.3. 修改环境变量

$ vim /etc/profile

export JAVA_HOME=/usr/local/java

export MAVEN_HOME=/usr/local/maven

export CATALINA_HOME=/usr/local/tomcat

export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/git/bin

$ source /etc/profile

4.4. 增加熵池大小,快速启用tomcat

$ yum -y install rng-tools

$ cp /usr/lib/systemd/system/rngd.service /etc/systemd/system

$ vim /etc/systemd/system/rngd.service

ExecStart=/sbin/rngd -f -r /dev/urandom

$ systemctl daemon-reload

$ systemctl restart rngd

4.5. 编写tomcat的启动脚本

$ vim /usr/lib/systemd/system/tomcat.service

[Unit]

Description=Tomcat

After=network.target

[Service]

Type=forking

Environment="JAVA_HOME=/usr/local/java" //tomcat启用时需要识别JAVA_HOME

ExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/usr/local/tomcat/bin/shutdown.sh

[Install]

WantedBy=multi-user.target

[root@jenkins ~]# chmod 600 /usr/lib/systemd/system/tomcat.service

[root@jenkins ~]# systemctl daemon-reload

5.6. 测试

$ systemctl start tomcat

$ ss -antp | grep java

LISTEN 0 100 :::8009 :::* users:(("java",pid=5717,fd=54))

LISTEN 0 100 :::8080 :::* users:(("java",pid=5717,fd=49))

LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",pid=5717,fd=107))

五、部署jenkins

5.1. 下载jenkins.war包

$ wget http://mirrors.jenkins.io/war/latest/jenkins.war

5.2. 安装jenkins(放到tomcat的webapps目录下,启用tomcat即可)

$ cp jenkins.war /usr/local/tomcat/webapps

5.3. 测试

$ systemctl restart tomcat

5.4. 修改首页

d0bab225b2a07da7dbddf6e2e56c4d4e.png

006bH9Duly1g0v8peesuhj30rz078mxj.jpg

六、配置jenkins

6.1. jenkins的安装

e8a705e430e57b0251abd52bdd5b845c.png

$ cat /root/.jenkins/secrets/initialAdminPassword

5e94c58bcd6a4fc5b7f49675c39a44bf

6.1.1. 报错

80b006102bdcf46bf3d18f3eddf40b54.png

解决办法:

$ find / -name "hudson.model.UpdateCenter.xml"

/root/.jenkins/hudson.model.UpdateCenter.xml

default

https://updates.jenkins.io/update-center.json

https修改为http

6.2. 点击安装推荐的插件

67cccfe940649236d2b48bb612b40061.png

6.3. 等待插件下载完成

7ceb7bf6e10b981f34028a49259fadc0.png

6.4. 设置管理员账号密码

da41f5843becfe3068bd2335272b72d6.png

006bH9Duly1g0v8qpkir8j30zx0i8q3s.jpg

6.5. 配置访问Jenkins的URL

b1a855f7d6a49b190a0de6f003c18051.png

006bH9Duly1g0v8qpphx5j31010i5wfl.jpg

6.6. Start Using Jenkins

6656db9d88c88cdcb6e17290aa5e51f3.png输入账号密码登录

6.7. jenkins插件的安装

4c1a4a2cb8ec0de8745db474639f0735.png006bH9Duly1g0vbct1xb9j30zj0h1ta0.jpg

59c85996b457163c29184aa8fbb9894a.png

6.7.1 安装SSH Publish Over SSH 用于ssh连接的

254f2e5400af42fdf9a3c10deedfca5e.png

6.7.2 安装GitLab 为git客户端从git主库取代码

0c86e0d4e41871b8d06d9105fce7ee28.png

006bH9Duly1g0vbct5oaqj30zh0i8q4k.jpg

6.7.3. 安装Maven Integration plugin 编译打包

1d5e69351c4d3615764cbf3251f3079c.png

006bH9Duly1g0vbjajimsj30zi0i6tay.jpg

6.8. jenkins系统设置

6f72f0228c0f4f3321de2c6708b31b0c.png

006bH9Duly1g0vbjanfeyj30zj0i7di3.jpg

6.8.1. 配置jdk根目录

6963d89c529efb44ca96ba63ebad01b3.png

6.8.2. 配置git命令的绝对路径

a201c7a2e091fe42db39954353988d55.png

006bH9Duly1g0vbjay0l6j30zm08974e.jpg

6.8.3. 配置Maven根目录

e676b414914b0b51ba88c0e51a6f420e.png

006bH9Duly1g0vbnzlw5uj30zi08lwem.jpg

Apply and Save

6.8.4. 配置ssh

00ff7b1eabd26e404c288a3351f100fd.png

006bH9Duly1g0vczbtfxnj30ze0i676k.jpg

$ ssh-copy-id -i 192.168.1.10 //后端gitlab的ip地址

$ cat .ssh/id_rsa

006bH9Duly1g0ymhrx0lqj30z20h1q3t.jpg

398828b88b37f94d50b320267c22ff8d.png

Apply and Save

Hostname为后端tomcat服务器的ip地址

Remote Directory ssh过去后在机器的什么目录下

点击Test Configuration 显示Success则表示成功----> Apply and Save

6.9. 在GitLab服务器上获取Token

6.9.1. 创建用户获取Token

22d8336e90a3e52ea363545d9d1f1e58.png006bH9Duly1g0ve9avv7lj30zl0i5ac4.jpg

6.10. jenkins服务器上配置Gitlab

006bH9Duly1g0ve9vtsmqj30zf0h176b.jpg04f3eab64fe122d9fb834a33dc247abf.png006bH9Duly1g0vea66qokj30zw0i3dgt.jpgf6e629b83a17b8e649527c4860ee1c61.png

七、创建一个Jenkins Job

7.1. 创建job

c7c020347b983ba0abc4b58499d8b97b.png5d0be6d4827a0a9ab1b3155fd6c7a3b6.png

7.2. 生成访问GitLab的ssh秘钥

006bH9Duly1g0vesdzfsoj30zj0ez76i.jpg

从Gitlab上以SSH的方式拉取或提交代码需要用到这个SSH秘钥,哪台机器需要从GitLab上拉取代码,就在哪台机器上生成SSH key

$ ssh-keygen -t rsa -C "" -b 4096

$ cat .ssh/id_rsa.pub

7.3. 配置Job

006bH9Duly1g0vf9xcz3wj30zx0h1wfm.jpg006bH9Duly1g0vf9xgc2gj30zx0h0dgz.jpg006bH9Duly1g0vfadubg3j30zh0i4q3w.jpg006bH9Duly1g0vfadxto4j30zy0i5wfr.jpg

f3b1e37f90ac1fa5b689280fc478a661.pnge81c797957a5301415d944e58891ea06.pngc9b5f0df39a1e15f1dd7f9ffb9e4b9c6.pngae829408e7e3e1cf9991d2634498b1f1.png

7.4. 配置Job的构建触发器

选择“构建触发器”,勾选“Pull SCM”,这个选项会每隔一段时间检查一下GitLab仓库中代码是否有更新,有的话就执行构建操作。日程表如何设置,在这个输入框下面有说明。006bH9Duly1g0vfz6ip6lj30zj0e4753.jpg

4d28eb8497293081a1d6b5f3eb158346.png

7.5. 配置打包

9ba3741ba0e96e9756058c3bfcd29217.png

7.6.打包完成之后的动作

a1381cd87efc547b0488f3264d2a717d.png

$ mkdir /jenkins/{jar,sh} -p

$ vim /jenkins/sh/web.sh

cp /jenkins/jar/*.jar /jenkins

echo successfully > /root/jenkins.log

$ chmod +x /jenkins/sh/web.sh

7.6.1. 报错

312dac4f31c80fdaa8f3a7ea1d829ebb.png

脚本没有执行权限,需要给脚本授权

$ chmod +x 脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值