jenkins环境
centos安装JDK
- 首先执行如下命令搜索 jdk 安装包
这里我们选择 1.8 版本,执行如下命令进行安装。yum search java|grep jdk
注意:默安装默认的目录为:/usr/lib/jvm/
yum install java-1.8.0-openjdk
此时只有运行环境,也就说 java 安装目录下只有 jre 文件夹,然后安装开发环境
yum install java-1.8.0-openjdk-devel.x86_64
安装完可看到 java 安装目录下出现 bin、lib 等文件夹。
再次输入 javac 说明安装成功
配置 JAVA_HOME 等环境变量
找到 JDK 安装路径
首先我们依次执行如下命令,一步步找到正确的 JAVA_HOME 位置
which java
输出:/usr/bin/java
ls -lr /usr/bin/java
输出:/usr/bin/java -> /etc/alternatives/java
ls -lrt /etc/alternatives/java
输出:/etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/bin/java
可以发现最终找到的位置如下:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
配置 JAVA_HOME
执行如下命令打开配置环境变量的文件
vi /etc/profile
在里面添加以下配置(JAVA_HOME 参数根据前面找到的目录路径设置):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
最后执行如下命令让配置生效
source /etc/profile
执行 echo $JAVA_HOME 如果能正确输出路径则说明配置成功
Ubuntu 安装JDK环境
- 通过apt安装.
- 通过官网下载安装包安装.
这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级
二. 通过apt安装(jdk有很多版本, 这里介绍两种: openjdk和oracle的JDK)
- openjdk
(1) 查找合适的openjdk版本:
apt-cache search openjdk
输入以上命令后会列出很多版本, 选择自己需要的即可:
default-jdk-doc - Standard Java or Java compatible Development Kit (documentation)
…(省略部分显示结果)
openjdk-6-source - OpenJDK Development Kit (JDK) source files
openjdk-7-jre-dcevm - Alternative VM for OpenJDK 7 with enhanced class redefinition
openjdk-7-jre-lib - OpenJDK Java runtime (architecture independent libraries)
openjdk-7-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-8-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-8-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-8-doc - OpenJDK Development Kit (JDK) documentation
openjdk-8-jdk - OpenJDK Development Kit (JDK)
openjdk-8-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-8-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-8-jre-jamvm - Alternative JVM for OpenJDK, using JamVM
openjdk-8-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-8-source - OpenJDK Development Kit (JDK) source files
uwsgi-app-integration-plugins - plugins for integration of uWSGI and application
uwsgi-plugin-jvm-openjdk-7 - Java plugin for uWSGI (OpenJDK 7)
(2) 安装
sudo apt-get install openjdk-8-jdk
(3) 配置环境变量, 编辑如下文件:
vim ~/.bashrc
在最后一行加:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=PATH
export CLASSPATH=.:JAVA_HOME/lib/tools.jar
(4) 测试jdk是否安装成功:
java -version
显示如下结果, 则说明安装成功:
openjdk version “1.8.0_91”
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~15.10.1-b14)
OpenJDK Server VM (build 25.91-b14, mixed mode)
2. oracle的JDK
(1) 添加ppa
sudo apt install software-properties-common
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
(2) 安装oracle-java-installer
sudo apt-get install oracle-java8-installer
安装器会提示你同意 oracle 的服务条款,选择 ok, 然后选择yes 即可
(3) 设置系统默认jdk
sudo update-java-alternatives -s java-8-oracle
(4) 如果即安装了jdk7,又安装了jdk8,要实现两者的切换,可以:
jdk8 切换到jdk7
sudo update-java-alternatives -s java-7-oracle
jdk7 切换到jdk8
sudo update-java-alternatives -s java-8-oracle
(5) 测试jdk是否安装成功:
java -version
三. 直接下载jdk压缩包方式安装
- 官网下载JDK
地址: http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html, 选择相应的 .gz包下载 - 解压缩,放到指定目录(以jdk-7u60-linux-x64.gz为例)
创建目录:
解压缩到该目录:
- 修改环境变量
文件的末尾追加下面内容:sudo vim ~/.bashrc
使环境变量马上生效:#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60 ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME={JAVA_HOME}/lib:{JAVA_HOME}/bin:$PATH
source ~/.bashrc
4. 设置系统默认jdk版本
然后执行:sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_60/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_60/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_60/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.7.0_60/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.7.0_60/bin/javap 300
若是初次安装jdk,会有下面的提示 :sudo update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java):
/usr/lib/jvm/jdk1.7.0_60/bin/java
- 测试jdk
若有如下结果, 则说明jdk 安装成功:java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
- 可能出现的错误信息
出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk, 查看你安装的Ubuntu是32位还是64位系统:bash: ./java: cannot execute binary file
i686表示是32位, x86_64表示是64位sudo uname -m
安装jenkins
直接本地安装
打开官网https://www.jenkins.io/download/// 关联仓库地址到服务器
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
// 添加地址配置文件/etc/apt/sources.list
deb https://pkg.jenkins.io/debian binary/
// 安装jenkins
sudo apt-get update
sudo apt-get install jenkins
Docker镜像安装
下载镜像
打开终端,输入docker search命令搜索 Docker Hub 上可用的 Jenkins 镜像
官方推荐使用的镜像是jenkinsci/blueocean,该镜像包含当前的长期支持 (LTS) 的 Jenkins 版本 (可以生产使用) ,并捆绑了所有 Blue Ocean 插件和功能。使用的是jenkins官方镜像,其集成的 Jenkins 版本比较高,结果出现好多插件不兼容的情况
果断使用jenkinsci/blueocean镜像,使用docker pull命令拉取
本地镜像仓库确认是否已存在
根据镜像创建容器
两种运行方式供你参考
方式一:直接运行,运行期间产生的所有数据都保存在容器内部,容器销毁,数据丢失。
docker run \
--name jenkins-blueocean \
-d \
-p 8081:8080 \
-p 50001:50000 \
jenkinsci/blueocean
方式二:Docker 会在宿主机上创建一个数据卷jenkins-data,容器映射该卷以持久化数据。
docker run \
--name jenkins-blueocean \
-d \
-p 8123:8080 \
-p 50000:50000 \
-u root \
--privileged=true \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
创建一个name为jenkins-blueocean的容器,端口映射到服务器的8123上。 -v jenkins-data:/var/jenkins_home: 本机/var/lib/docker/volumes/jenkins-data路径下会存储容器中的数据,建立持久化数据存储
Tips:8080 端口用来公开访问 Web 界面,50000 端口允许访问远程 Java (JIRA) AP
jenkinsci/blueocean容器内使用docker
如果在用容器中使用docker,必须加上第8 行。
第6、7行,提升了在docker启动jenkins容器中的执行权限。执行命令后不会报出Permission denied提示[
](https://blog.csdn.net/yulin009/article/details/101073542)
执行命令后创建容器
查看容器实例docker ps
如果一切正常,现在就可以通过http://
容器启动后,配置 Jenkins
Step1:解锁 Jenkins。
管理员初始密码被放到了/var/jenkins_home/secrets/initialAdminPassword 文件中。
进入到容器内部,再去查看对应的文件initialAdminPassword内容
docker exec -it jenkins-blueocean /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
698bb48600014baeb872b62a208b953f
管理员密码,复制并粘贴到 Web 界面,用户admin,密码上面字符串
登录后就可以安装插件。
可以说完全由插件来驱动的,所以安装一些基础的插件是非要必要的,这里我们选择 安装推荐的插件 ,然后静静地等待插件安装完成即可。
安装设置插件
修改下载插件的地址,打开插件管理 > 高级 > 升级站点的url
修改为: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
- Git Parameter
- GitLab
- Role-base Authentication Strategy:基于角色的权限控制
- Extended Choice Parameter
- Authorize Project
- publish over ssh:通过ssh部署服务器
- Build Timestamp Plugin
- Code Coverage API
- Copy Artifact Plugin
- Infrastructure plugin for Publish Over X
- jQuery plugin
- JQuery3 API Plugin
- JSch dependency plugin
- Forensics
- generic webhook trigger web触发器
配置的格式:http://[username]:[token]@ip:port/generic-webhook-trigger/invoke。
API token的添加:点击用户名 > 下拉 设置 > 添加api token > 点击生成11b30ee55a056f4a6b1bffc775ae943a7e
例如:http://admin:111717617345ce3d9d1f580a@47.96.0.230:8080/generic-webhook-trigger/invoke
- nvm wrapper:提供node环境
Email Extension Plugin需要使用2.5版以下,否则发送邮件失败,可以在下面插件列表中选择下载然后手动安装
jenkins插件列表: http://updates.jenkins-ci.org/download/plugins/
角色和用户管理项目
设置下开发角色dev和测试角色qa
进入Manage and Assign Roles进行设置
管理角色Manage Roles
首先是Manage Roles管理角色,表示给不同角色设置不同权限。
dev开发角色只能查看到dev-开头的任务
qa测试角色只能看的qa-开头的任务
分配角色Assign Roles
给user分配角色,首先创建不同的用户如zhangsan为dev,liudehua为测试。
这样不同身份的用户进入后,看到的是不同的任务。
设置构建参数
设置为参数化构建,选择git参数。
然后在源码管理tab下,设置git地址和登录的身份
查看git地址命令
git remote -v
// 显示
origin https://github.com/shenshuai89/koa2-zhihu-api.git (fetch)
origin https://github.com/shenshuai89/koa2-zhihu-api.git (push)
设置多分支参数构建
设置webhook触发器
通过安装插件
- generic webhook trigger web触发器
可以在构建触发器中设置,勾选Generic Webhook Trigger
API token的获取添加:点击用户名 > 下拉 设置 > 添加api token > 点击生成
配置构建命令
npm install -g yarn vite
yarn
rm -rf build
yarn build
cd dist
tar -zcvf dist.tar.gz *