jenkins环境搭建

1.普通搭建
- 获取安装列表 yum -y list java*
- 安装JDK环境 yum -y install java
- 测试JDK是否安装成功 java -version
- 下载Jenkins和maven 查看版本 http://pkg.jenkins-ci.org/redhat-stable/ wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
- 安装maven yum -y install apache-maven
- 安装Jenkins rpm -ivh jenkins-2.7.3-1.1.noarch.rpm
- 修改启动端口 vim /etc/sysconfig/jenkins
- 重启服务 service jenkins restart
- 查看jenkins密码并复制 vim /var/lib/jenkins/secrets/initialAdminPassword
2. 基于Docker安装Jenkins环境
- 使用docker 安装jenkins
docker run -it --name jenkins -e TZ=Asia/Shanghai \
-p 8080:8080 -p 50000:50000 \
-v ~/mnt/jenkins/jenkins_home:/var/jenkins_home \
jenkins/jenkins
3.使用tomcat,jenkins.war包安装jenkins
-
java环境安装
# jdk下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html # 安装java mkdir /usr/local/java tar -xvf jdk-8u291-linux-x64.tar -C /usr/local/java vi /etc/profile # 添加以下内容 export JAVA_HOME=/usr/local/java/jdk1.8.0_291 export JAVA_BIN=/usr/local/java/jdk1.8.0_291/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH # 立即生效 source /etc/profile -
maven环境安装
# 下载地址 https://maven.apache.org/download.cgi # 解压 tar -zxvf apache-maven-3.8.2-bin.tar.gz -C /usr/local # 配置maven仓库位置,存放maven下载的内容 cd /usr/local/apache-maven-3.8.2 mkdir repository vi conf/settings.xml 找到·localRepository下面复制一行加上<localRepository>/usr/local/apache-maven-3.8.2/repository</localRepository> # 配置阿里云加速下载 vi conf/settings.xml 找到mirror 加上阿里的仓库配置 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> # 配置环境变量 vi /etc/profile export MAVEN_HOME=/usr/local/apache-maven-3.8.2 export PATH=$PATH:$MAVEN_HOME/bin # 立即生效 source /etc/profile -
node环境安装
# 安装nvm wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash source ~/.bashrc nvm install v16.0.0 #安装 16.0.0 版本 nvm alias default v16.0.0 #设置默认 node 版本为 v16.0.0 -
tomcat安装
# 下载tomcat tar -xvf /root/pkg/apache-tomcat-8.5.64.tar -C /usr/local cd /usr/local/ mv apache-tomcat-8.5.64/ tomcat_8.5 # 将 jenkins.war 文件复制到 webapps 文件下 cp pkg/jenkins.war /usr/local/tomcat_8.5/webapps/ vi conf/server.xml # Host标签下添加如下代码,docBase为war包名称。 <Context path="/" docBase="jenkins.war" debug="0" privileged="true" reloadable="true"/> # 如果需要部署war包到Tomcat根目录访问,删除tomcat webapps/ROOT 下的所有内容后加入以下内容 <Context path="" docBase="/usr/local/tomcat_8.5/webapps/jenkins" debug="0" privileged="true" reloadable="true"/> # 启动tomcat 启动后访问http://xxx.xxx.xxx.xxx:8080/jenkins sh startup.sh -
jenkins配置
- Jenkins修改默认目录 /root/.jenkins ( 需要时修改)
# linux下安装Jenkins(jenkins的war包,tomcat启动)后,默认目录为:/root/.jenkins # 1. 打开tomcat的bin目录,编辑catalina.sh文件。 # 2. 在 OS specific support. $var must be set to either true or false. 上面添加: export JENKINS_HOME="xxxx/xxxx" # 3. 修改linux系统环境变量 profile文件 vim /etc/profile # 加入 export JENKINS_HOME=/xxx/xx/xx # 4. 立即生效 source /etc/profile # 5. 重启tomcat - jenkins 修改登录用户
vim /etc/sysconfig/jenkins- jenkins添加全局凭证-ssh拉取git代码
cd ~/.ssh # 如果没有文件则,需要新生成ssh秘钥 ssh-keygen -t rsa -C “登录gitlab的邮箱” # id_rsa.pub:公钥,复制到gitlab平台配置ssh-key # id_rsa:私钥,复制到jenkins平台配置jenkins凭据- jenkins域名地址配置
# 系统管理/系统配置/Jenkins URL - Jenkins修改默认目录 /root/.jenkins ( 需要时修改)
4. Jenkins插件
- 汉化插件:Localization: Chinese (Simplified)
- 用户权限插件:Role-based
- 测试报告插件:Allure
- 安装完成后需要配置maven下载
5. 环境变量配置
- 全局环境变配置
# 系统管理/系统配置/全局属性 键: NODE_HOME 值: /usr/local/node 键: PATH 值: $NODE_HOME/bin:$PATH - 单节点环境变量配置
# 系统管理/节点管理/设置/节点属性/ 键: NODE_HOME 值: /usr/local/node 键: PATH 值: $NODE_HOME/bin:$PATH
6. 全局属性
- 工具位置
# 系统管理/系统配置/全局属性 (Allure Commandline) allure /usr/local/jenkins_home/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure
7. 配置gitlab,webhook
- 安装插件
- GitLab创建Personal Access Tokens
- 个人头像/setting/Access Tokens/Scopes-api
- Jenkins配置GitLab信息
- 系统管理/系统配置/GitLab
- 配置项目仓库url
- 添加凭证GitLab API Token
- Jenkins工程添加构建触发器
- 复制GitLab webhook URL: xxxxxx
- 高级 > 可设置触发分支
- 将GitLab webhook URL添加到GitLab WebHook中
8. 常见错误
ERROR: Step ‘Allure Report’ aborted due to exception: com.fasterxml.jackson.core.io.JsonEOFException: Unexpected end-of-input in field name at [Source: (ZipFileInflaterInputStream); line: 1537127, column: 22]
错误原因:日志内容太大,增加tomcat内存。
vi catalina.bat
# 第一行加入
set JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m"
# 重启tomcat
防止allure生成报告的进程未停止,占用allure-results目录
ALLURE_PID_LIST=$(ps -ef | grep 'allure' | grep -v 'grep' | awk '{print $2}')
for ALLURE_PID in $ALLURE_PID_LIST;
do
kill -9 $ALLURE_PID
done;
定时构建不发送邮件
user="Timer Trigger"
debug=false
if [ "$BUILD_USER" = "$user" ]
then
debug=true
fi
cd ./node
rm -rf allure-results
npm run slh1 -- --env=slh1_adev1 --debug=$debug
