docker下安装jenkins

目标:通过jenkins来实现gitee代码的自动部署;

步骤:

1、安装git (使用jenkins插件下载git很慢,这里先安装好,容器挂载)

2、安装maven(使用jenkins插件下载maven很慢,这里先安装好,容器挂载)

3、下载jenkins镜像,启动jenkins容器

4、下载jenkins插件

5、配置从gitee拉取代码到jenkins

6、构建代码,生成jar包

7、将jar包推送到目标服务器部署

1、安装git

git官网下载:https://git-scm.com/

下载安装包,解压到对应路径下 我的路径是 /usr/local/git

#编辑系统变量
vi /etc/profile
#追加配置
export PATH=/usr/local/git/bin:$PATH
#立即生效
source /etc/profile

查看是否生效

::

 2、安装maven

maven官网下载:https://maven.apache.org/download.cgi

下载安装包,解压到对应路径下 我的路径是 /usr/local/maven/apache-maven-3.8.5 

#编辑系统变量
vi /etc/profile
#追加配置
export M2_HOME=/usr/local/maven/apache-maven-3.8.5
export PATH=$PATH:${JAVA_HOME}/bin:$M2_HOME/bin
#立即生效
source /etc/profile

检查是否配置成功

 3、下载jenkins镜像,启动jenkins容器

#拉取jenkins镜像
docker   pull   jenkins/jenkins:2.344
#启动容器
docker run -d -p 9000:8080 -p 9001:50000 -v /usr/local/jenkins/mount:/var/jenkins_home   -v  /usr/local/maven/apache-maven-3.8.5:/usr/local/maven   -v /usr/local/git/bin/git:/usr/local/git    -v /etc/localtime:/etc/localtime --name myjenkin 镜像id

其中: /usr/local/jenkins/mount:/var/jenkins_home 这个挂载地址后面2个地方会用到

参数参数说明
--name容器名称
-p

9000:8080

左边对应机器的ip:右边对应容器内ip

-v

/usr/local/jenkins/mount:/var/jenkins_home

左边对应2中配置的服务器路径:右边容器中地址

挂载jenkins工作空间,这里还挂载了git和maven的安装路径

查看启动情况:

输入对应的 ip:9000(我8080映射的是9000)访问jenkins 

我这边上面启动容器的时候挂载的地址是这个 /usr/local/jenkins/mount:/var/jenkins_home

 所以我/usr/local/jenkins/mount/secrets/initialAdminPassword 直接复制这里面的内容;

4、下载jenkins插件

接下来,选择:“安装推荐的插件”;这个安装推荐插件的时间可能会比较久,请耐心等待。

现在咱们】】还需要再安装两个插件: publish over ssh和Maven Integration plugin 同学可以点击: 系统管理->插件管理 -> 可选插件中进行输入安装。如下图所示

 如果下载特别慢可通过清华的这个地址https://mirrors.tuna.tsinghua.edu.cn/jenkins

下载对应插件然后上传安装就可以

5、配置从gitte拉取代码到jenkins

系统管理->全局工具配置 配置git全局变量

 Path to Git executable这个地址 由于配置的git地址各不相同可以进入容器中查看自己的路径

#进入容器
docker exec -it 容器id /bin/bash
#查看git配置
whereis git

 接下来配置密钥

#进入容器
docker exec -it 容器id /bin/bash
#进入这个地址 为什么这个地址 这个地址挂载了 生成的密钥方便操作
cd /var/jenkins_home
#生成密钥
ssh-keygen -m PEM -t rsa -b 2048

其中公钥需要配知道gitee(或github)

将公钥复制到这里 ,标题随便填

 新建个任务

 

6、构建代码,生成jar包 

应用 保存

构建该任务(遇错参考下这里:docker部署jenkins遇到常见问题_高山流水11的博客-CSDN博客

 7、讲jar包推送到目标服务器部署

 

其中SSH Server

系统管理-> 系统配置 SSH

 

 目标服务器的shell代码供参考:

先kill存在的端口,然后启动

#!/bin/bash
source /etc/profile
AppName=ruoyi-admin.jar
AppPort=9500
AppPath=/usr/local/ruoyi
# JVM参数
JVM_OPTS="-Dname=$AppName  -Duser.timezone=Asia/Shanghai -Xms320m -Xmx320m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
APP_HOME=`pwd`
LOG_PATH=$APP_HOME/logs/$AppName.log
#先暂停已有的
echo "Stop $AppName"
PID=""
query(){
	PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
}
query
if [ x"$PID" != x"" ]; then
	kill -TERM $PID
	echo "$AppName (pid:$PID) exiting..."
	while [ x"$PID" != x"" ]
	do
		sleep 1
		query
	done
	echo "$AppName exited."
else
	echo "$AppName already stopped."
fi
#重新启动
nohup java -jar $JVM_OPTS $AppPath/$AppName --spring.profiles.active=druid --server.port=$AppPort > $AppPath/run.log 2>&1 &
echo "Start $AppName success..."

至此项目启动成功

部署过程也碰到很多问题,专门梳理了一个篇幅来介绍,可以参考下

docker部署jenkins遇到常见问题_高山流水11的博客-CSDN博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值