gitlab+jenkins自动化部署

1.安装gitlab

拉取gitlab镜像
	docker search gitlab
	docker pull gitlab/gitlab-ce
查看镜像是否拉取成功
	docker images
安装gitlab
	docker run -d  -p 443:443 -p 8888:80 -p 222:22 
		--name gitlab 
		--restart always 
		-v /data/gitlab:/etc/gitlab 
		-v /data/gitlab/logs:/var/log/gitlab 
		-v /datagitlab/data:/var/opt/gitlab 
		gitlab/gitlab-ce
	// 说明
		// -p 443:443 指的是把你服务器的443端口映射到getlab容器的443端口使你访问ip:443端口访问的就是你gitlab的443端口服务。8082 222 同理
		// -v 数据卷 数据卷就相当于 把你gitlab中的某个目录映射到你的服务器上的目录
			- 例:-v 服务器路径:gitlab容器路径
查看gitlab
	docker ps 
停止gitlab
	docker stop gitlab
删除gitlab
	docker rm gitlab
删除 gitlab images
	docker rmi gitlab

2.接下来你就可以访问你的gitlab了

初始你的gitlab密码
第一次进去会有提示 让你去服务器的目录找 
在这里我是用的docker安装的 
所以说得去docker容器中找他的这个路径 
	docker exec -it gitlab /bin/bash
然后 cat 路径

3.安装jenkins

// 拉取jenkins,war
// 在这里首先解释一下为什么不用docker去安装jenkins容器
 - 因为一会写的shell脚本用到的命令 在你的jenkins容器中不允许使用 
jenkins下载地址  https://www.jenkins.io/		

我安装的是 2.332.2 版本的
从服务器上直接wget 拉取jenkins

	wget https://get.jenkins.io/war-stable/2.332.2/jenkins.war

然后编写启动命令

	nohup /data/jdk-11/bin/java -jar jenkins.war --httpPort=8080 >/data/jenkins/nohup.out 2>&1 &

这里用到的是 java命令的绝对路径
如果不用java命令的绝对命令的话 有可能会给你报dns的错 说你没有指定java版本

访问 127.0.0.1:8080
会提示你去服务器中找你的初始值密码
因为咱们这个不是用的docker安装的容器
可以直接 cat 就可以了
填入初始值密码
按照推荐安装就可以了

4.配置jenkins 镜像下载

gitlab+jenkins自动化部署_第1张图片
gitlab+jenkins自动化部署_第2张图片
gitlab+jenkins自动化部署_第3张图片

gitlab+jenkins自动化部署_第4张图片

在这里填入 http://mirror.esuni.jp/jenkins/updates/update-center.json
然后保存

5.安装插件

因为咱们部署的是maven项目
使用的是gitlab
所以我们需要安装 maven 和 gitlab的插件
gitlab+jenkins自动化部署_第5张图片
安装好需要重启一下jenkins使插件生效

6.创建maven项目

gitlab+jenkins自动化部署_第6张图片

7.配置项目

gitlab+jenkins自动化部署_第7张图片
gitlab+jenkins自动化部署_第8张图片

gitlab+jenkins自动化部署_第9张图片

gitlab+jenkins自动化部署_第10张图片
gitlab+jenkins自动化部署_第11张图片
gitlab+jenkins自动化部署_第12张图片

shell脚本

#!/bin/bash
#服务名称
SERVER_NAME=demo

#源jar路径,mm打包完成之后,target目录下的jar包名称,也可选择成为war包,war包 可移动到Tomcat的。
JAR_NAME=demo-0.0.1-SNAPSHOT


#target打包生成jar包的目录

JAR_PATH=/root/.jenkins/workspace/demo/target    # 以具体的打包位置为准,可以先构建一次项目,通过日志查看打包的目录

#打包完成之后,把iar包移动到运行jar包的目录
JAR_WORK_PATH=/data/jenkins/workspace

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo"得到进程ID: $PID"
echo"结束进程"
for id in $PID
do
kill -9 $id
echo "killed $id"
done
echo"结束进程完成"

#复制jar包到执行目录_

echo" 复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo"复 制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar

#前台启动
#java -jar $JAR_NAME.jar

#后台启动
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &

8.编译项目

gitlab+jenkins自动化部署_第13张图片

9. 编辑gitlab

gitlab+jenkins自动化部署_第14张图片

10.然后测试就OK了

欢迎评论

你可能感兴趣的:(jenkins,自动化,docker)