jenkins实现持续基础持续部署

本文档介绍了如何在 CentOS 系统上安装 Docker,然后从阿里云镜像源拉取 Jenkins 并创建容器运行。接着,讲述了如何在 Jenkins 中配置 JDK、Maven 和 Git,并生成项目。最后,提供了两种方式执行自动化构建脚本,一种是直接在容器内执行 Shell,另一种是利用 Jenkins 的 Publish Over SSH 插件远程传输文件和执行命令。
摘要由CSDN通过智能技术生成

安装Docker (如有docker 可跳过)

1.安装依赖包

  yum install -y yum-utils device-mapper-persistent-data lvm2

2.设置阿里云镜像源

 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装 Docker-CE

  yum install docker-ce

4.启动docker

systemctl start docker

拉取jenkins镜像并部署项目

5.创建文件夹/usr/local/jenkins

mkdir /usr/local/jenkins

6.给/usr/local/jenkins 权限

chmod 777 /usr/local/jenkins

7.创建容器并运行

docker run -p 8033:8080 -p 50000:50000 -v /usr/local/jenkins:/var/jenkins_home --name jenkins -idt docker.io/jenkins/jenkins

得到管理员密码

cat /usr/local/jenkins/secrets/initialAdminPassword

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
安装gitee和maven
在这里插入图片描述
在这里插入图片描述

去全局配置,配置jdk+maven+git
在这里插入图片描述
进入docker中的Jenkins容器输入 echo $JAVA_HOME 得到jdk的路径
在这里插入图片描述

生成一个项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第一次种执行shell方式:

在这里插入图片描述
shell的代码:

#!/bin/bash
#服务名称
SERVER_NAME=woss_web
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,这里使用jar包,用java -jar 命令执行 
JAR_NAME=woss_web-0.0.1-SNAPSHOT
# 源jar路径 
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/woss_web/target/
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/woss_web/target/

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到进程ID:$PID"
echo "结束进程"
for id in $PID
do
        kill -9 $id 
        echo "killed $id" 
done
echo "结束进程完成"

#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

第二种执行shell方式:

jenkins 插件【Publish Over SSH】的使用说明
【Publish Over SSH】插件是通过SSH连接其他Linux机器,远程传输文件及执行Shell命令
Manage Jenkins -> Configure System -> Public over SSH 进行配置

在这里插入图片描述
填写名称、主机ip、ssh用户名、远程的目录(最好写/,后面就可以用绝对路径了)
然后点击高级,勾选【Use password authentication, or use a different key】使用密码登录,填写密码、端口、连接超时
在这里插入图片描述
点击【Test Configuration】,测试连接,显示Success即可
在这里插入图片描述
保存完成

使用:
项目中增加构建步骤,或者构建后步骤
在这里插入图片描述
在这里插入图片描述
Name:
SSH Sverver的名字列表

Source files:
jenkins本机上的文件,相对workspace的路径,如上图中表示的是/home/cmq/.jenkins/workspace/项目1/test1下的所有文件和文件名

Remove prefix:
文件复制时要过滤的目录,要不然会创建多层目录

Remote directory:
远程机上的目录,此目录是相对于【SSH Server】中的【Remote directory】的,如果不存在将会自动创建,设置为/根目录的话,这里可以用绝对路径

Exec command:
远程机器上执行的命令或脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值