一、 安装
java JDK
环境
更新软件包列表
sudo apt-get update
安装openjdk-8-jdk
sudo apt-get install openjdk-8-jdk
查看java版本,看看是否安装成功
java -version
默认安装路径为:/usr/lib/jvm/java-1.8.0-openjdk-amd64
二
.
安装
jenkins
将存储库密钥添加到系统
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
将Debian包存储库地址附加到服务器的sources.list
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
安装Jenkins
sudo apt-get install jenkins
三
.
安装
maven
- 进入网址找到自己想要下载的版本:
http://www-eu.apache.org/dist/maven/maven-3/
2)下载3.5.4版本
wget https://downloads.apache.org/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
- 解压
tar -zxvf apache-maven-3.5.4-bin.tar.gz
- 移动Maven到/usr/local中
mv apache-maven-3.5.4 /usr/local/
- 设置环境变量
vim /etc/profile
末未追加
export M2_HOME=/usr/local/apache-maven-3.5.4
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH= M 2 : M2: M2:PATH
刷新配置
source /etc/profile
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKTRG02R-1650785443473)(RackMultipart20220424-1-to7zyj_html_48acb7eac7333d7c.png)]
6)验证maven
mvn --version
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xN5vJ3lJ-1650785443476)(RackMultipart20220424-1-to7zyj_html_6f61347b643858db.png)]
四、安装
git
1、使用 Apt 安装 Git
Git 软件包被包含在 Ubuntu 默认的软件源仓库中,并且可以使用 apt 包管理工具安装。这是在 Ubuntu 上安装 Git 最便利,最简单的方式。
如果你想要从 Git 源码上编译安装最新的 Git 版本,请关注『从源码安装 Git』一节。
安装非常直接,仅仅以 sudo 权限用户身份运行下面的命令:
sudo apt update
sudo apt install git
运行下面的命令,打印 Git 版本,验证安装过程:
git --version
就在写作这篇文章的时候,在 Ubuntu 20.04 下 Git 当前可用版本是 2.25.1:
git version 2.25.1
就这些。你已经成功地在你的 Ubuntu 上安装 Git,你可以开始使用它。
2、配置 Git
在你安装 Git 之后第一件事情,就是配置你的 Git 用户名和邮件地址。 Git 在每一次 commit 代码时关联你的身份。
想要设置全局的 commit 名字和邮件地址,运行下面的命令:
git config --global user.name "superFans"
git config --global user.email "1103393971@qq.com"
你可以验证配置,输入:
git config --list
输出看起来应该像这样:
user.name=superFans
user.email=1103393971@qq.com
配置文件被存储在~/.gitconfig文件:
[user]
name = superFans
email = 1103393971@qq.com
如果对 Git 配置做进一步修改,你可以使用git config命令(推荐方式)或者手动编辑~/.gitconfig文件。
将Git添加到环境变量:
查看git安装位置:
which git
一般git默认安装路径有两个 :/usr/share/git-core或者
/usr/local/git
编辑环境配置文件
vim /etc/profile
末尾
export PATH=$PATH:/usr/share/git-core
立马生效
source /etc/profile
五、启动
jenkins
1.加载很慢的更改:
命令行是:
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
然后进入编辑模式,就可以进行修改并保存。
替换url:
http://mirror.xmission.com/jenkins/updates/update-center.json
最后启动jenkins服务:
service jenkins start
service jenkins restart
2,访问
jenkins的端口号默认为8080,请保证linux上8080端口没有被占用。jenkins服务启动后,在浏览器输入服务器ip:8080访问jenkins页面。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XBglyEEN-1650785443477)(RackMultipart20220424-1-to7zyj_html_f3c30cd21dd17224.png)]
3.打开页面后首先要去剪头指的位置获取密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
然后复制出密码粘贴到下方的输入框中。
密码输入完成后,会跳转到提示插件下载的页面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wWLh0gyb-1650785443478)(RackMultipart20220424-1-to7zyj_html_cc19072ea279dffd.png)]
4,这里我选择左侧的推荐下载,然后就等待插件下载安装。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-auTU2OLH-1650785443478)(RackMultipart20220424-1-to7zyj_html_b62f2ce5296884e1.png)]
5.然后创建用户和密码并登陆:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9k99WiYi-1650785443479)(RackMultipart20220424-1-to7zyj_html_f4fd822f2faca23a.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-01QwJFxk-1650785443480)(RackMultipart20220424-1-to7zyj_html_e8a2c906ca00d62a.png)]
6.之后就主要是在jenkins页面中配置。
jenkins插件下载
首先先去配置管理里面的插件管理下下载插件:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-83jOq7fk-1650785443480)(RackMultipart20220424-1-to7zyj_html_edd003571c9753af.png)]
然后下载maven插件
7,还有publish over ssh插件:
8.如果需要按照git上的分支或者tag来构建项目,则需要下载Build With Parameters和Git Paramet两个插件:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5RRfVxQK-1650785443481)(RackMultipart20220424-1-to7zyj_html_b6d6145a4594973.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sDo0dsbq-1650785443482)(RackMultipart20220424-1-to7zyj_html_cc6288a911b28f1b.png)]
六、
.jenkins
配置
jdk
、
maven
、
git
1.进去系统管理的全局工具设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XSfjzv3o-1650785443483)(RackMultipart20220424-1-to7zyj_html_9d39bdacc6fef3a5.png)]
2.maven全局setting配置(/usr/local/apache-maven-3.5.4/conf/settings.xml)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d03Ygdd8-1650785443483)(RackMultipart20220424-1-to7zyj_html_288ea885e4eac7ca.png)]
3,jdk配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hx9yekSq-1650785443484)(RackMultipart20220424-1-to7zyj_html_7125a2d74c0cc739.png)]
4,Git配置
查看git安装位置:
which git
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ET43d7XS-1650785443485)(RackMultipart20220424-1-to7zyj_html_cba187985f4854dd.png)]
5,maven配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FE8r2xBv-1650785443486)(RackMultipart20220424-1-to7zyj_html_6564171f296b1192.png)]
6.创建一个自动化部署任务
以上是jenkins配置的内容,下面说明下如何从github上拉取项目并自动构建;
创建任务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bl8Gef2i-1650785443487)(RackMultipart20220424-1-to7zyj_html_daf31e13e4d593ec.png)]
7,设置任务名称
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QVbCpLlj-1650785443488)(RackMultipart20220424-1-to7zyj_html_d5590ec9ffd25582.png)]
8.配置任务
配置一般设置(这里我选择配置构建的参数)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rFac6XYT-1650785443489)(RackMultipart20220424-1-to7zyj_html_1082179729b74710.png)]
9.配置源码管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5iwajAYa-1650785443490)(RackMultipart20220424-1-to7zyj_html_8ff19de35ee2513b.png)]
10.配置构建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VXAAQJmH-1650785443491)(RackMultipart20220424-1-to7zyj_html_8acb2d5322475c8f.png)]
11.构建后写上自动运行的shell脚本:
根POM字段更改为
"project name/pom.xml"
Jenkins中的路径是工作空间相关的 .
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJA4nN75-1650785443492)(RackMultipart20220424-1-to7zyj_html_8acb2d5322475c8f.png)]
shell脚本代码为:
#!/bin/bash
port=2001
echo '根据端口号查询对应的pid'
pid= ( n e t s t a t − n l p ∣ g r e p : (netstat -nlp | grep : (netstat−nlp∣grep:port | awk '{print $7}' | awk -F"/" '{ print $1 }');
echo '杀掉对应的进程,如果pid不存在,则不执行'
if [-n "$pid"]; then
kill -9 $pid;
fi
echo '删除原来的jar包'
rm -rf /root/web/blogserver-0.0.1-SNAPSHOT.jar
echo '将构建的jar包复制到指定目录下'
cd blogserver/target/
cp blogserver/blogserver-0.0.1-SNAPSHOT.jar /root/web
echo '运行构建的jar包'
cd /root/web
nohup java -jar blogserver-0.0.1-SNAPSHOT.jar >>blogserver-demo.log 2>&1 &
因为我这里作为测试用的springboot项目的端口号为2001,构建后的jar包名称为:blogserver-0.0.1-SNAPSHOT.jar,所以上面的对应的这些地方可以根据需要替换为自己的端口号和jar包名称。
还有jar包复制到指定目录,用到的命令为:
cp blogserver-0.0.1-SNAPSHOT.jar /root/web
其中/root/web/是我这里指定的目录,各位也可以根据需要替换为自己的目录。
注意:在安装完jenkins后,linux中默认使用的jenkins这个用户,这时在构建完项目后我们需要执行一些shell命令时会出现没有权限的情况,导致构建失败,这里我们需要给jenkins用户相应的权限以执行相应的命令。Ubuntu环境下,以root用户权限启动Jenkins
1、修改配置文件:
vim /etc/default/jenkins
将下面两个参数修改为root
----------修改前--------
JENKINS_USER=$NAME
JENKINS_GROUP=$NAME
---------修改后---------
JENKINS_USER=root
JENKINS_GROUP=root
2、更改目录权限:
cd /var/lib/
chown -R root:root ./jenkins
systemctl restart jenkins.service
PS:本教程适用于Ubuntu环境下通过"apt-get install -y jenkins"命令在线安装的Jenkins,如果是通过tomcat或者java命令启动的jenkins.war,请自行百度。
到这里,初步的jenkins自动化构建部署任务已经配置完成了,接下来就直接点构建然后选择对应的tag或者分支就可以进行构建了。
注:如果遇到shell脚本执行后,发现自己的jar包还没有运行的情况,这种状况一般是由于jenkins任务执行完毕会杀掉自己的子进程。那么我们可以在系统管理的系统配置下新增一个环境变量:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g9NMB7PQ-1650785443493)(RackMultipart20220424-1-to7zyj_html_989b097d34278d0c.png)]
环境变量下新增一个键值对:
key:BUILD_ID
value:DontKillMe
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vIxcPdsw-1650785443494)(RackMultipart20220424-1-to7zyj_html_2ea4ae78ce7dd2e4.png)]