完整的 jenkins 项目部署笔记

3 篇文章 0 订阅
1 篇文章 0 订阅

jenkins 项目部署笔记

平时我们在服务器部署一个项目时候,为了不让一些执行信息输出到前台(控制台)我们一般的做法是
启动项目:nohup java -jar xxxxx-1.2.0-SNAPSHOT.jar >/dev/null 2>&1 &
但是这样的打jar包然后上传服务器发布的方式,操作步骤比较麻烦,有了jenkins我们部署项目就可以变的更加的简单(具体步骤如下):
一 安装jenkins
wget -O :下载并以不同的文件名保存
yum的repo中默认没有Jenkins,需要先将Jenkins存储库添加到yum repos,执行下面的命令:

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 

配置jenkins镜像地址:

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

然后 安装Jenkins
yum install -y jenkins 默认安装最新的
配置kenk
修改用户名和端口号:

JENKINS_USER="root"
JENKINS_PORT="8888"

启动jenkins

service jenkins start或者
systemctl start jenkins

如果是下载的war包官方启动方式

java -jar jenkins.war --httpPort=8888

这样启动方式,在关闭控制台或者ssh断开服务器链接后 jenkins也就自动关闭了。
在Linux下,可以使用以下方式启动。

nohup java -jar jenkins.war --httpPort=8888 &

启动后 会生成一个nohup.out输出,需要的话,可以tail -f nohup.out实时查看日志

wget https://pkg.jenkins.io/redhat/jenkins‐2.83‐1.1.noarch.rpm

(5)访问链接 http://192.168.184.135:8888

从/var/lib/jenkins/secrets/initialAdminPassword中获取初始密码串

(6)配置:
在这里插入图片描述在这里插入图片描述
一般我们启动一个JAVA项目,需要配置JDK,Maven,Git,Docker等工具;其中配置linux服务器中JDK的环境变量路径,相对来说比较麻烦一点,这里我参考了大佬的帖子:https://www.cnblogs.com/imyalost/p/8745137.html(以防帖子丢失,我把帖子内容复制在下面:)
环境部署(四):Linux下查看JDK安装路径
在安装好Git、JDK和jenkins之后,就需要在jenkins中进行对应的设置,比如在全局工具配置模块,需要写入JDK的安装路径。
这篇博客,介绍几种常见的在Linux中查看JDK路径的方法。。。
1、which java
首先输入命令行,查看结果:
[root@localhost ~]# which java
/usr/bin/java
PS:which Java是无法定位到Java的安装路径的,只能定位到执行路径;whereis Java也无法定位,只能展示一部分的Java路径,如下所示:

[root@localhost ~]# whereis java
 java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz 

2、echo $JAVA_HOME
使用 echo J A V A H O M E 命 令 可 以 定 位 到 J a v a 安 装 路 径 , 但 是 前 提 是 配 置 了 环 境 变 量 JAVA_HOME 命令可以定位到Java安装路径,但是前提是配置了环境变量 JAVAHOMEJavaJAVA_HOME,否则还是定位不到,如下所示:

[root@localhost ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@localhost ~]# echo $JAVA_HOME
[root@localhost ~]#

3、rpm -qa | grep java
如果JDK是源码安装,那么rpm -qa | grep java命令也是定位不到的jdk的安装路径的,比如我是用的yum命令安装,使用rpm -qa | grep java命令的话,结果如下所示:

[root@localhost ~]# rpm -qa | grep java
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64
tzdata-java-2018d-1.el7.noarch
java-1.8.0-openjdk-devel-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.0.el7_4.x86_64
[root@localhost ~]# 

4、ls -lrt
先了解下ls命令:
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R 若目录下有文件,则以下之文件亦皆依序列出
根据上面的命令,我们可以执行如下命令,找到JDK的安装路径:

[root@localhost ~]# ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 Apr  3 19:30 /usr/bin/java -> /etc/alternatives/java
[root@localhost ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 73 Apr  3 19:30 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java
[root@localhost ~]# cd /usr/lib/jvm
[root@localhost ~]# ls
java                                                jre-1.7.0
java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64  jre-1.7.0-openjdk
java-1.8.0                                          jre-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64
java-1.8.0-openjdk                                  jre-1.8.0
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64     jre-1.8.0-openjdk
java-openjdk                                        jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
jre                                                 jre-openjdk

ls -lrt解析:即将文件以建立时间先后顺序的倒叙排列显示,从上面的结果可以看出,/usr/bin/java是执行路径,那么继续执行后面的文件路径,即可找到JDK的安装路径为/usr/lib/jvm/java-1.8.0。
PS:上面提到的几种方法,适用于安装在Linux上的软件查询路径使用(并不仅仅限于查找JDK安装路径),请选择合适的方法。。。

配置Maven环境,我选择从官网下载maven安装包,发送是有那个Filezilla发送到服务器我指定的路径文件夹中,解压,并在settings.xml文件中配置了本地jar包仓库路径,中央仓库镜像修改为阿里仓库服务器,具体配置如下:
在这里插入图片描述在这里插入图片描述
Linux服务器安装git,参照如下步骤:
在这里插入图片描述
(7)安装插件:
在这里插入图片描述在这里选择,项目部署需要使用到的一下插件,更新已有的插件,安装完插件后,重启jenkins.
在这里插入图片描述
二.使用jenkins构建并发布项目:
第一种:生成ssh非对称密钥对(这一部分我借鉴了网友的做法):
码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。
你可以按如下命令来生成 sshkey:
例如:

ssh-keygen -t rsa -C "aaa@163.com"

Generating public/private rsa key pair…
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key

cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAAAAjdjfsafjkasfklas…
在这里插入图片描述
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
在这里插入图片描述
添加后,在终端(Terminal)中输入

ssh -T git@gitee.com

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
在这里插入图片描述
添加成功后,就可以使用SSH协议对仓库进行操作了。
在这里插入图片描述
仓库公钥和可部署公钥
为了便于用户在多个项目仓库下使用一套公钥,免于重复部署和管理的繁琐,码云推出了「可部署公钥」功能,支持在一个仓库空间下使用当前账户名下/参与的另一个仓库空间的部署公钥,实现公钥共用。

第二种:直接登录码云的账号和密码建立HTTPS连接,配置用户名和密码;即可连接成功在这里插入图片描述
项目构建成功以后,执行如下脚本代码;完成项目的部署

project=travelplan-1.4.0-SNAPSHOT.jar
pathName=travelplan
dir=/var/lib/jenkins/workspace/$pathName/target/
mv $dir$project /opt/www
cd /opt/www/
pid=`ps -ef | grep $pathName | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
	kill -9 $pid
fi
BUILD_ID=dontKillMe nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $project --spring.profiles.active=test >/dev/null 2>&1&

在这里插入图片描述
保存配置后,回到项目列表,点击立即构建
在这里插入图片描述
至此,使用jenkins自动化部署项目完成!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值