Git设置
1、上传文件
创建文件夹,将压缩包导进去
2、解压压缩包
tar -zxvf git-2.33.0.tar.gz
3、安装所需依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
【输入 y 】
4.编译
进入解压后的文件中
make prefix=/usr/local/git all
会解压非常多,需要等待一下
5.安装
make prefix=/usr/local/git install
6、修改环境变量
#打开配置文件
vim /etc/profile(将下面一行的代码,复制粘贴到上面的配置文件里)
#set git
export PATH=$PATH:/usr/local/git/bin#加载一下配置文件
source /etc/profile
7.检查git是否安装成功
8、在Jenkins添加git配置
下一步
输入账号密码
写git流水线
点击save,就可以了
maven设置
1、上传压缩包
2.解压
tar -zxvf apache-maven-3.3.9-bin.tar.gz
3、配置环境变量
#第一个命令,编辑/etc/profile
vim /etc/profile#set maven
MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9
PATH=${MAVEN_HOME}/bin:${PATH}
export PATH
4、加载环境变量
source /etc/profile
5、测试maven安装是否成功
mvn -v
6、替换maven源
#打开setting文件,修改中央仓库为阿里的,不然速度太慢
vim /usr/local/maven/apache-maven-3.3.9/conf/settings.xml# 找到<mirrors></mirrors>标签对,添加以下内容
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</mirror># 指定下载源位置
<localRepository>/usr/local/maven/apache-maven-3.3.9/repository</localRepository>
【注意:需要自己创建/usr/local/maven/apache-maven-3.3.9/repository目录】
Jenkins配置Maven
配置3个环境变量:JAVA_HOME、MAVEN_HOME
PATH+EXTRA $MAVEN_HOME/bin
写maven流水线
-
通过git拉取代码
-
用Dockerfile检查是否存在容器和镜像,如果存在则删除
-
编译,打包
-
创建docker镜像
-
启动docker容器
第一段流水线:git拉取代码
2.第二段流水线:将下载的项目进行打包
node {
stage('pull code'){
git credentialsId: '71063517-6fe1-49de-84ad-b20fef23afd4', url: 'https://gitee.com/zhuyubojjjj/jenkins.git'
}
stage('compile'){
dir('/var/lib/jenkins/workspace/servertest1'){
sh 'mvn clean install'
}
}
}
3.第三段流水线:将打包后的项目做成docker镜像
4.第四段流水线:通过镜像创建容器并启动
5.第五段流水线:删除已存在的容器和镜像
checkout=0
node {
stage('pull code'){
//这里为你的git地址
git credentialsId: '71063517-6fe1-49de-84ad-b20fef23afd4', url: 'https://gitee.com/zhuyubojjjj/jenkins.git'
}
stage('check docker container'){
script{
checkout=sh(
script: 'docker ps | grep d1',
returnStatus: true
)
}
}
stage('compile'){
//dir中为你要执行的文件的地址,下面叫这个servertest1都需要修改
dir('/var/lib/jenkins/workspace/servertest1'){
sh 'mvn clean install'
}
}stage('remove docker container'){
if(checkout==0){
sh 'docker stop d1'
sh 'docker rm d1'
sh 'docker rmi servertest1'
}
}stage('make docker container'){
dir('/var/lib/jenkins/workspace/servertest1/target'){
sh "echo FROM openjdk:8 > Dockerfile"
sh "echo ADD demoNginx-1.0-SNAPSHOT.jar /app.jar >> Dockerfile"
sh "echo RUN bash -c '\"'touch /app.jar'\"' >> Dockerfile"
sh "echo ENTRYPOINT ['\"'java'\"','\"'-jar'\"','\"'/app.jar'\"'] >> Dockerfile"
sh "echo RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime >> Dockerfile"
sh "docker build -t servertest1 ."
}
}
stage('start'){
//这里的两个8888,第一个为浏览器访问的网址,后面的为程序本身的网址,前面的可以改,后面的不建议改
sh 'docker run --name d1 -p 8888:8888 -d servertest1'
}
}
这是最后整合后的流水线