部署jenkins并完成github上springboot项目的自动化部署

一、 安装

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

  1. 进入网址找到自己想要下载的版本:

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

  1. 解压

tar -zxvf apache-maven-3.5.4-bin.tar.gz

  1. 移动Maven到/usr/local中

mv apache-maven-3.5.4 /usr/local/

  1. 设置环境变量

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 : (netstatnlpgrep: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)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值