1、安装Jenkins之前要保证jdk和maven是已经安装的
2、linux安装jdk
- 首先下载jdk版本:去官网下载jdk-8u131-linux-x64.tar.gz。
- 然后上传下载的安装到到linux中
参考:Linux环境安装JDK:
https://www.cnblogs.com/xuliangxing/p/7066913.html
1、首先安装lrzsz
# yum -y install lrzsz
2、上传文件
执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。
# rz
运行rz命令后弹出选择文件窗口,找到要上传的文件后确认,文件会被上传到Centos当前目录下
下载文件,执行命令sz
# sz 文件名
运行 sz命令后 弹出选择保存路径窗口,点击确认后 Centos上的文件会被下载到本地目录下
进入 到 cd /usr/local/
3:上传 rz
4:解压tar -zxvf jdk.tar.gz
5:重命名 mv 源文件名 jdk
6:配置环境变量: vim /etc/profile
7:输入 i ,输入 esc, :wq 回车键,内容如下:
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
=====================================================
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
8、环境变量生效: source /etc/profile
9:防火墙关闭:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
10:查看jdk版本:java -version
3、linunx安装maven
参考:https://blog.csdn.net/qq_35868412/article/details/89471735
Maven官网:http://maven.apache.org/
Maven下载地址:http://maven.apache.org/download.cgi
通过wget命令下载安装包:
# wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
2、解压安装
通过tar命令解压到当前目录:
# tar -zxvf apache-maven-3.5.4-bin.tar.gz
解压后的路径:/opt/server/apache-maven-3.5.4
3、配置环境变量
在/etc/profile中保存Maven的环境变量:
export M2_HOME=/opt/server/apache-maven-3.5.4
export PATH=$PATH:$M2_HOME/bin
通过source使配置文件生效:
# source /etc/profile
4、查看版本号
# mvn -version
4、linux安装git
参考:https://blog.csdn.net/oguro/article/details/103051152
linux 上面有自带的一些工具去安装应用如yum,rpm等等。但是常见的还是下载tar包然后部署编译等。常见的tar包有:
源码包 后缀: tar.gz ,tar.gz2(解压之后,要配置,编译,安装三步走,才可使用)
二进制包 后缀: tar.xz (解压完就有可执行文件,可直接使用)
git 源码包 安装
去git官网下载后缀tar.gz的tar包
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
然后解压tar包
tar -xzvf git-2.9.5.tar.gz
进入git-2.9.5文件夹下面执行三个命令 ,
./configure //配置,
make //编译,
make install //安装
但是在开始之前,先安装一些编译需要的工具
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
开始配置,--prefix 是指安装哪个目录
./configure --prefix=/usr/local/git
编译和安装
make && make install
设置环境变量,这样在任何目录都能使用git命令,在/etc/profile 最后加一句
export PATH=/usr/local/git/bin:$PATH
让 /etc/profile 改动生效
source /etc/profile
最后执行git --version 输出版本号测试一下就好了。
5、linux安装Jenkins
挂载启动命令:
docker run -d --name jenkins -p 8082:8080 --privileged=true -v /usr/local/jdk/bin/java:/usr/local/jdk/bin/java -v /usr/local/jdk:/usr/local/jdk -v /usr/local/karl/apache-maven-3.6.3:/usr/local/karl/apache-maven-3.6.3 -v /var/run/docker.sock:/var/run/docker.sock -v /home/jenkins:/usr/local/karl/jenkins_home jenkins/jenkins:lts
jenkins安装有两种方式,第一种是docker安装jenkins容器
通过命令docker pull jenkins/jenkins 下载最新的jenkins镜像文件
给home创建jenkis文件夹 mkdir /home/jenkins
给uid为1000的权限 chown -R 1000:1000 jenkins/
创建jenkins容器:docker run -itd -p 9080:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/local/jdk1.8.0_211/bin/java:/usr/local/jdk1.8.0_211/bin/java -v /usr/local/jdk1.8.0_211:/usr/local/jdk1.8.0_211 -v /usr/local/apache-maven-3.6.1:/usr/local/apache-maven-3.6.1 -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v /home/jenkins:/var/jenkins_home jenkins/jenkins:latest
-itd -i:以交互模式运行容器,通常与 -t 同时使用;-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;-d:后台运行容器,并返回容器ID;具体可参考https://www.runoob.com/docker/docker-run-command.html
-p 9080:8080 -p 50000:50000 主要是以端口9080启动,默认jenkins端口为8080
--name jenkins 容器名称
--privileged=true 完全开放并具有root权限
-v /usr/local/jdk1.8.0_211/bin/java:/usr/local/jdk1.8.0_211/bin/java 挂在jdk到jenkins
-v /usr/local/apache-maven-3.6.1:/usr/local/apache-maven-3.6.1 挂在maven到jenkins
-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker 挂在docker命令到jenkins
-v /home/jenkins:/var/jenkins_home jenkins/jenkins:latest 挂在docker文件目录
由于配置不同的东西还需要挂在不同的东西,可能会遇到很多坑,故而使用了第二种jenkins的方式
直接在linux安装jenkins,并且安装最新的jenkins
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
修改jenkins端口
vi /etc/sysconfig/jenkins
使文件修改进行生效
source /etc/sysconfig/jenkins
给工作空间赋值jenkins权限
chown jenkins:jenkins /var/lib/jenkins/workspace/
为jenkins创建一个Maven project
Goals and options设置为
Goals and options clean install package -D maven.test.skip=true
设置post steps,选择Run only if build succeeds 其中xxx为项目名和mavenproject的名称 建议两者名称保持一致
#!/bin/bash
cd /var/lib/jenkins/workspace/xxx/xxx
docker build -f /var/lib/jenkins/workspace/xxx/xxx/Dockerfile -t xxx:1.0 --rm .
docker stop xxx | exit 0
docker rm xxx | exit 0
docker run -d -p 18201:18201 -e spring.profiles.active=test -i -t --name xxx xxx:1.0
此时如果出现启动异常:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied
创建docker用户
sudo groupadd docker
则需要把将当前用户加入docker组
sudo gpasswd -a jenkins docker
重新启动docker服务
sudo systemctl restart docker
赋予docker权限可读写
sudo chmod a+rw /var/run/docker.sock
再次重新构建项目,完毕