Jenkins的安装及使用

安装Jenkins

官网教程

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install -y jenkins #默认安装最新的

操作Jenkins命令

service jenkins start #启动jenkins

service jenkins restart  #重启jenkins

rpm -ql jenkins  #查看默认安装目录

rpm -e jenkins    #卸载jenkins
rpm -ql jenkins   #检查是否卸载成功
find / -iname jenkins | xargs -n 1000 rm -rf    彻底删除残留文件

修改Jenkins的配置文件

修改Jenkins默认jdk位置

  • **方式一 **修改配置jenkins文件
vi /etc/init.d/jenkins
  • 方式二 建立软连接
ln -s /usr/local/jdk1.8.0_161/bin/java /usr/bin/java

修改Jenkins配置文件

vim /etc/sysconfig/jenkins

修改 JENKINS_USER="root" 最好改成root,不然会报错权限不足

修改启动端口 JENKINS_PORT(默认8080)这里设为 9999(自定义)

重载所有修改过的配置文件

systemctl daemon-reload

启动Jenkins后,在网页输入对应的 http://服务器ip:9999,完成Jenkins管理员的设置以及插件安装**

使用示例

部署前后端分离的项目(部署在本地)

  • 配置对应的工具(服务器须已经安装了这些工具)

  • 下载对应的插件

因为我使用的部署项目例子是在gitee中管理,使用vue+springboot进行编写的,所以下的插件须有gitee,node,maven

  • 新建一个项目(item)选择maven项目

执行的脚本

cd /var/lib/jenkins/workspace/sportMeeting #根据自己stop.sh、replace.sh脚本地址写
sh stop.sh
sh replace.sh
BUILD_ID=dontKillMe nohup java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=2222 /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod > school-sportmeeting-system.log 2>&1 &
#根据自己jar包的名称、地址修改
sh deploy.sh
#部署前端

对应上面脚本中的stop.sh

# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep school-sportmeeting-system-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi

#此处school-sportmeeting-system-0.0.1-SNAPSHOT.jar根据自己的jar包名称修改

对应上面脚本中的replace.sh

#replace.sh 用于将上次构建的结果备份,然后将新的构建结果移动到合适的位置
#!/bin/bash
# 先判断文件是否存在,如果存在,则备份
file="/www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
   mv $file /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
mv /var/lib/jenkins/workspace/sportMeeting/target/school-sportmeeting-system-0.0.1-SNAPSHOT.jar /www/server/sportMeeting/school-sportmeeting-sys
tem-0.0.1-SNAPSHOT.jar
#此处 /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar 是存放jar包位置
#而 /var/lib/jenkins/workspace/sportMeeting/target/school-sportmeeting-system-0.0.1-SNAPSHOT.jar 是jenkins build 成功生成jar包的位置
#以上根据自己实际jar包名称和路径修改

对应上面脚本中的deploy.sh

#deploy.sh 用于部署前端项目
#!/bin/bash
path="/var/lib/jenkins/workspace/sportMeeting/vue/sportmeeting-vue"
cd $path
cnpm install
cnpm run build
\cp -rf $path/dist/ /www/server/  #复制文件夹至docker部署的nginx挂载卷

关于上面docker部署的nginx相关的命令

#docker启动nginx并挂载卷
docker run -d --name nginx \
-p 80:80 \
-v /www/server/dist:/usr/share/nginx/html \
-v /var/yzy/nginx/nginx.conf:/etc/nginx/conf.d/default.conf \
-v /var/yzy/logs:/var/log/nginx nginx

对应的nginx配置文件

server 
   {
    listen       80;
    server_name  localhost;  #这里填写对应的域名或ip地址

    location / {
        root   html/;
        index  index.html index.htm;
    }
  }

保存之后,点击build now即可完成前后端一键化部署

posted @ 2021-08-08 17:31  shouyaya  阅读(401)  评论(0)    收藏  举报