悦书阁 悦书阁
首页
学习笔记
技术文档
idea插件开发
更多
  • 分类
  • 标签
  • 归档

Felix

大道至简 知易行难
首页
学习笔记
技术文档
idea插件开发
更多
  • 分类
  • 标签
  • 归档
  • 部署文档

    • 博客搭建
    • Jenkins教程
      • jenkins搭建
        • 1.环境信息
        • 2.maven配置仓库
        • 3.docker方式安装jekins
        • 4.安装插件
        • 5.配置jenkins
        • 6.系统配置
        • 7.构建java项目
        • 8.构建VUE项目
        • 9.问题
    • Docker安装和简单使用
    • minio安装
    • Mysql安装
    • Redis安装
    • Docker部署服务
  • 常用手册

  • 经验技巧

  • 技术文档
  • 部署文档
liufei379
2022-04-26
目录

Jenkins教程

# jenkins搭建

# 1.环境信息

JDK1.8
maven 3.5.4
jenkins laster 
1
2
3

# 2.maven配置仓库

<mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>	
</mirrors>
1
2
3
4
5
6
7
8

# 3.docker方式安装jekins

​ 3.1 docker拉取jekins

docker pull jenkins/jenkins:lts
1

​ 3.2 创建挂载目录 并开放读写权限

mkdir -p /opt/work/jenkins
chmod 777 /opt/work/jenkins
chown -R 1000 /opt/work/jenkins
1
2
3

​ 3.3 启动

docker run -d --name jenkins -p 9000:8080 -p 50000:50000  --restart=always -v /opt/work/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /opt/work/apache-maven-3.5.4:/usr/local/maven jenkins/jenkins:lts
1

​ 3.4进入控制台

http://ip:9000
等待界面初始化进入解锁界面
1
2

image-20220419170953533

3.5查看初始化密码

docker exec -it jenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword
1
2

3.6选择安装插件的方式

​ 如果知道要安装哪些插件,就选择安装推荐的插件。

image-20220419171142753

3.7等待安装完成,后续步骤按照界面提示即可

# 4.安装插件

image-20220419173953533

主要安装以下几个插件,在右上角进行搜索
Publish Over SSH -- 服务器操作插件 配置服务器信息 -- 暂未用到该方式
SSH2 Easy     -----  服务器操作插件 配置服务器信息
Maven Integration ----- maven插件 发布JAR包用
Git Parameter ----- git插件	拉取代码用
NodeJS Plugin ----- nodejs插件 发布VUE用
安装完后重启勾选右下角重启服务
1
2
3
4
5
6
7

image-20220419174434105

# 5.配置jenkins

进入配置界面

image-20220419172023563

5.1全局环境配置

进入容器
docker exec -it jenkins bash
查看java home
echo $JAVA_HOME 获取java路径
界面点击新增jdk 取消自动安装
/opt/java/openjdk
1
2
3
4
5
6

image-20220419173114656

5.2配置maven

取消自动安装
在第3.3步骤中启动时配置了maven路径usr/local/maven 复制路径填入下面框格
1
2

image-20220419173316137

5.3配置nodejs

这个需要特别注意,需要根据目前开发的VUE版本安装对应的支持版本,否则可能导致构建失败。我第一次安装了nodejs14的版本就由于版本过高导致构建失败,后来重新安装了nodejs 12.16.2才正常构建成功。
1

image-20220425142544749

# 6.系统配置

​ 点击系统设置-系统设置 image-20220419183338862

6.1 Server Groups Center 配置服务器信息

image-20220425143724262.png

配置完成之后,需要先保存退出配置界面,再进入才可以配置Server List,否则可能找不到Server Group
1

6.2 配置Server Group List

image-20220425144059505

# 7.构建java项目

点击左侧菜单新建任务,然后选择构建一个MAVEN项目
1

7.1构建策略

构建的版本保留几个作为回滚就够了,不需要一直保留着,以免占用服务器硬盘资源。
点击General勾选丢弃旧的构建,根据实际使用情况备份以下2个信息
	保持构建的天数
	保持构建的最大个数
还可以勾选参数化构建过程,对一些信息参数化。(这一步我暂时未做)
1
2
3
4
5

image-20220425144625500

7.2 git配置

点击源码管理配置git信息,输入URL 添加认证 选择要构建的分支
如果做了参数化构建,这里就可以配置参数。
1
2

image-20220419181923115

7.3 取消构建触发器

在构建触发器 取消勾选 “Build whenever a SNAPSHOT dependency is built”
1

7.4 配置maven构建命令

如果是单模块项目,则使用以下命令即可
clean install xxx -Dmaven.test.skip=true
如果是多模块项目,则需要确认构建的执行项目
clean install -pl xxx -am -amd -Dmaven.test.skip=true
-pl 标识指定构建某个模块
-am 是向下的。表示同时处理选定模块所依赖的模块。
-amd 是向上的。表示同时处理依赖选定模块的模块。
使用-am、-amd等时候,必须配合-pl指定模块使用
1
2
3
4
5
6
7
8

image-20220425145243439

7.5 配置FTP上传

我没有使用SSH上传方式(懒的弄证书😂)
配置FTP方式上传包
Run only if build succeed 标识构建成功后才执行
target server对应的是jenkins容器里面的绝对路径
/var/jenkins_home/workspace/项目路径/target/jar包名.jar
remoteLocation  表示要上传到远程服务器的哪个位置
fileName 表示上传之后文件的名称
1
2
3
4
5
6
7

image-20220425150659343

7.6 执行远程脚本或者命令发起部署

image-20220425151109499

# docker构建部署命令例子
export BUILD_ID=dontKillMe 
innerport=8086 #docker容器内部端口
outport=8081 #docker容器外部端口
dockername=api #容器名称
web=api-0.0.1-SNAPSHOT #jar包名
webdir=/opt/work/api #docker构建路径
backup=/opt/work/backup #备份路径
bulid=/opt/work/bulid #jenkins 上传的路径
date=$(date +%Y%m%d%H%M) #备份的文件后缀
echo "####### 备份jar包 ##########"
cp $webdir/$web.jar $backup/$web-$date.jar #备份历史版本
rm -rf $webdir/$web.jar #删除历史版本
mv $bulid/$web.jar $webdir/$web.jar #拷贝最新版本到 构建路径
echo "####### 删除当前容器 ##########"
docker stop $dockername
sleep 10
docker rm $dockername
sleep 3
docker rmi $dockername
sleep 3
echo "####### 制作最新的当前镜像 ##########"
cd $webdir #进入构建路径
docker build -t $dockername .
echo "####### 启动当前最新的容器 ##########"
docker run -d --name $dockername -p $outport:$innerport $dockername
sleep 5
pid=`ps aux|grep $dockername|grep -v grep |grep -v "/bin/sh"| awk '{print $2}'`
if [ -z "${pid}" ]; then
echo "################################项目启动失败################################"
cat dsadsadas #使jenkins发布失败,导致构建项目不稳定
else
echo "################################项目启动成功#########################################"
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 8.构建VUE项目

大部分的操作和构建Java项目一致,略微有点小区别。
第一步选择构建一个自由风格的软件项目
第一次构建要安装nodejs,时间会久点
1
2
3

image-20220425151507345

1-3步与第7点一致
1

8.1 构建环境选择nodejs

1.要选择安装nodejs插件,在第4点已安装
2.点击构建环境,勾选Provide Node & npm bin/ folder to PATH
1
2

image-20220425152203592

8.2新增执行shell命令

cnpm install
cnpm run build
cd /var/jenkins_home/workspace/xxx
tar -cvf dist.tar dist/
1
2
3
4

image-20220425152426427

8.3 FTP上传

image-20220425162417479

  1. 4 执行远程shell命令

    image-20220425162613254

export BUILD_ID=dontKillMe
innerport=8080
outport=8080
dockername=vue
web=dist
webdir=/opt/work/vue
backup=/opt/work/backup
bulid=/opt/work/bulid
date=$(date +%Y%m%d%H%M)
echo "####### 备份jar包 ##########"
cd $webdir
tar -cvf $web.tar  $web
cp $webdir/$web.tar $backup/$web-$date.tar
rm -rf $webdir/$web.tar
mv $bulid/$web.tar $webdir/$web.tar
tar -xvf $web.tar
rm -rf $web.tar
echo "####### 删除当前容器 ##########"
docker stop $dockername
sleep 10
docker rm $dockername
sleep 3
docker rmi $dockername
sleep 3
echo "####### 制作最新的当前镜像 ##########"
docker build -t $dockername .
echo "####### 启动当前最新的容器 ##########"
docker run -d --name $dockername -p $outport:$innerport $dockername
sleep 5
pid=`ps aux|grep $dockername|grep -v grep |grep -v "/bin/sh"| awk '{print $2}'`
if [ -z "${pid}" ]; then
echo "################################项目启动失败################################"
cat dsadsadas #使jenkins发布失败,导致构建项目不稳定
else
echo "################################项目启动成功#########################################"
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

8.5 上传成功之后,删除包

cd /var/jenkins_home/workspace/xxx
rm -rf dist.tar
1
2

image-20220425164041411

# 9.问题

目前碰到的大部分问题都是权限不足的问题

仓库的权限不足

chmod 777 -R /jenkins主目录/.m2/repository
1

bulid 目录权限不足

chmod 777 -R xxx
1

脚本执行异常 sh脚本要通过touch创建,如果从window放上去有字符的问题

上次更新: 2026/3/11 22:17:56
博客搭建
Docker安装和简单使用

← 博客搭建 Docker安装和简单使用→

最近更新
01
实现idea开发的关键步骤
10-05
02
Redis高可用架构
09-09
03
Zookeeper高可用
08-31
更多文章>
Theme by Vdoing | Copyright © 2022-2026 Felix | 粤ICP备17101757号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式