一、安装docker
1、首先,确保您的系统是最新的。运行以下命令更新软件包列表和系统
sudo dnf update
2、安装所需的依赖项
sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2
3、添加Docker官方存储库。您可以使用以下命令来添加
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
4、安装Docker引擎
sudo dnf install docker-ce
5、启动Docker服务并将其设置为开机启动
sudo systemctl start docker
sudo systemctl enable docker
6、验证Docker是否已成功安装。如下图,表示docker已安装完成。
docker --version
二、安装jenkins
1、下载jenkins
docker pull jenkins/jenkins
2、启动jenkins
docker run --name myjenkins -d -p 8085:8080 -p 50000:50000 jenkins/jenkins
这里的8085端口是等会我们在浏览器访问jenkins的端口,这里进行了端口映射
三、登录jenkins
1、使用ip+端口登录jenkins(ifconfig可以查看ip地址)
2、进入容器查看管理员密码
docker exec -it myjenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword
3、安装推荐插件,点击安装推荐插件,等待插件安装结束
4、设置管理员账号,保存并完成
5、配置实例,开始使用jenkins
四、安装插件
1、安装maven插件
2、安装ssh插件
等待插件安装完成
五、配置jdk和maven
1、安装jdk(JAVA_HOME: /opt/java/openjdk)
2、安装maven
六、远程的凭证配置
拉到最下面,找到SSH Servers,点击新增
七、创建项目
点击新建任务,输入任务名称,构建maven项目,点击确定
源码管理选择git
如果Repository UR这里校验失败,gitee的仓库需要设置成开源
打包跳过测试
clean package -Dmaven.test.skip=true
上传构建好的文件
脚本文件如下
#!/bin/bash
function killproject()
{
project_pid=$(netstat -lnp | grep 8098|awk '{print $7}'|cut -d/ -f1)
if [ $project_pid > 0 ];then
echo "项目已经启动了,开始关闭项目,项目pid为: $project_pid "
kill -9 $(netstat -lnp | grep 8098|awk '{print $7}'|cut -d/ -f1)
echo '项目关闭成功,开始重启项目。。。'
else
echo "项目未启动,直接启动"
fi
}
function start_project()
{
source /etc/profile
echo '正在启动项目。。。'
cd /jenks/target/
nohup java -jar demo01-0.0.1-SNAPSHOT.jar >publish.log &2>1 &
}
function check_project()
{
check_pid=$(netstat -lnp | grep 8098|awk '{print $7}'|cut -d/ -f1)
if [ $check_pid > 0 ];then
echo "project is start and pid = : $check_pid "
else
echo "project are not start"
fi
}
killproject
start_project
sleep 15
check_project
# 输出启动日志
cat /jenks/target/publish.log
修改三个地方:1、将端口8098替换成自己springboot的端口
2、将demo01-0.0.1-SNAPSHOT.jar替换成自己项目的名字(在idea中打包可以看到这个名字)注意:所有些demo01-0.0.1-SNAPSHOT.jar的地方都需要替换成自己的jar包名
八、构建前准备工作
服务器中创建service.sh脚本,将上面代码复制到service.sh脚本文件中
sudo mkdir /jenks
cd /jenks
touch service.sh
vi service.sh
chmod +x service.sh
注意:请确保service.sh执行脚本有权限,加这行命令就可:chmod +x service.sh
因为 /jenks/target/这个文件目录在服务器上没有所以需要提前创建号存放jar包的文件目录,创建命令如下:
sudo mkdir /jenks
sudo mkdir /jenks/target
开始构建系统
九、访问项目
为什么不能访问呢?因为CentOS默认启用了防火墙,可能会阻止对Java程序的访问,所以需要打开对应的端口。如果您的Java程序在8098端口上运行,可以使用以下命令打开该端口
sudo firewall-cmd --zone=public --add-port=8098/tcp --permanent
sudo firewall-cmd --reload
再次访问,成功了