ubuntu安装Jenkins
操作系统信息
ubuntu
阿里云相关配置
1. 左侧菜单栏选择 安全组
2. 右侧 ——> 操作 ——> 管理规则
3. 开放8080端口
安装
- 配置Java环境
sudo apt update
sudo apt install openjdk-11-jdk
想要运行Jenkins 必须为Java11 Java8无法运行
- 安装Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9B7D32F2D50582E6
sudo apt update
sudo apt install jenkins
设置
- 进入可视化页面
http://<ip>:8080
- 当需要输入管理员密码时
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
可以不创建用户选择admin账户进行下一步
创建流水线
- 新建
- 设置名称
- 配置github地址
- 触发设置(这里选择手动触发,所以这些可以不勾选)
- 脚本设置
pipeline {
agent any
stages {
stage('拉取代码') {
steps {
echo '正在拉取代码'
}
}
stage('打包项目') {
steps {
echo '正在打包项目'
}
}
stage('上传服务器') {
steps {
echo '正在上传服务器'
}
}
}
}
保存后点击立即构建可以看到日志
steps 可以看成脚本的执行步骤
可以看到每个步骤执行,也就是打印的日志
拉取代码
- 回到配置 点击 流水线语法
- 选择GIT
- 输入克隆地址
报错原因
2021.8.13起,Github要求使用基于令牌的身份验证 所以账号密码不行了
-
获取token
-
生成后记得保存
用户名随意 密码就是刚才生成的token
生成脚本
生成可用脚本有两种方法
第一种是将token做为连接凭证,脚本拉取代码时携带凭证
git credentialsId: 'git-hub-token', url: 'https://github.com/you/GitAddress.git'
第二种是git拉取时直接携带access token
git https://<access token>@github.com/you/GitAddress.git
但是无论哪种方法都需要你的token权限需要支持你的操作
打包项目
Maven配置
服务器安装maven
sudo apt update
sudo apt install maven
安装后查看信息
mvn -version
一定要配置阿里云镜像否则下载会非常慢
cd /usr/share/maven/conf
vim settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- 找到打好的Jar包
上传服务器
找到Jar包并上传服务器启动
cd /var/lib/jenkins/workspace/test4sql/target/
已经可以看到打好的Jar包了
最终脚本
pipeline {
agent any
stages {
stage('拉取代码') {
steps {
git credentialsId: 'git-hub-token', url: 'https://github.com/yourName/mysql4test.git'
}
}
stage('打包项目') {
steps {
sh 'mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip'
}
}
stage('上传服务器') {
steps {
sh '''cd /home/api
bash myhub.sh
'''
}
}
}
}
- myhub.sh
#!/bin/bash
cd /var/lib/jenkins/workspace/test4sql/target
mv -f mysql4test.jar /home/api
cd /home/api
PID=$(ps -ef | grep mysql4test.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo '应用程序已经停止'
else
echo 正在停止服务,pid: $PID
sudo kill $PID
echo '应用程序已停止'
fi
echo '正在启动jar包...'
nohup java -jar mysql4test.jar --spring.profiles.active=test >/dev/null 2>&1 &
echo '应用程序启动完毕...'
建议
服务器最好配置高一点
打包下载依赖时CPU飙到97% 直接卡死
本文来自博客园,作者:异世界阿伟,转载请注明原文链接:https://www.cnblogs.com/yusishi/p/17631307.html