Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

作者:神秘网友 发布时间:2020-10-24 00:05:53

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动化部署

Jenkins用户文档地址

Jenkins在docker环境下安装非常简单。只需要执行命令

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean
  • -p 8080:8080 docker映射端口号,这里是访问Jenkins的端口号
  • -v jenkins-data:/var/jenkins_home 卷,Jenkins持久数据存储地址
  • -v /var/run/docker.sock:/var/run/docker.sock 卷,映射宿主机的docker到容器内部

1. 打开服务器Jenkins的网页

如果你没有更改端口号,那么这个地址是你的服务器ip:8080。注意服务器需要打开相应的安全组配置和防火墙设置。然后你会看到这个

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

(这个图是网上找的,除了地址以外无任何区别)

进入Jenkins的docker容器,找到密码,复制到上面即可。

2. 选择插件,一般选安装推荐的插件。

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

(这些图也是在网上找的)

你可以选择创建管理员账户,也可以不创建,直接点击“使用admin账户继续”。这时候登录名是admin,密码是你刚刚复制的一长串字符。

3. 配置镜像地址

点击系统管理->插件管理->高级

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

升级站点改成清华大学镜像地址

http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

然后点击“提交”

4. 安装相应的插件

选择可选插件
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

如果你需要部署springboot项目,需要安装Maven插件;

如果你需要部署NodeJS项目(如Vue.js),需要安装nodejs插件;

如果你需要从gitlab拉取代码,需要安装gitlab及gitlab hook插件。

然后点击“直接安装”。

安装完成后记得重启Jenkins。

5. 配置全局工具

进入系统管理->全局工具配置

5.1.1 安装JDK

进入docker容器中,输入

echo $JAVA_HOME

复制JAVA路径,备用。

在刚刚的页面点击“新增JDK”,并取消“自动安装”。在JAVA_HOME输入刚刚复制的路径。

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

5.1.2 安装Maven及NodeJS

直接点击“新增Maven”“新增Node JS”即可,记得输入Name。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

最后记得点击保存。

如果你的代码存储在Gitlab中,记得配置全局用户信息。

先进入Gitlab中,生成一个private access token

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

选择生成后,复制token,备用。

接下来到Jenkins部分

进入系统管理->系统配置,找到Gitlab。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

一般是没有Credentials的,可以新增一个。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

这里的API token填写刚刚在Gitlab复制的token。
最后记得保存。

首先在项目根目录下创建Dockerfile,注意这个Dockerfile可以按照自己的需求更改。

FROM java:8
ADD target/*.jar appName.jar
VOLUME /tmp
EXPOSE 9010
ENTRYPOINT ["java", "-jar", "appName.jar"]

在Jenkins创建新的任务
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

然后填写自己的Github项目地址

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

然后源码管理选择git,输入自己的git地址。指定分支选择自己需要构建的分支。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

如果你没有认证,添加一个即可。可以使用账号密码或ssh认证。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

触发器选择GitHub钩子。当然,选择轮询也是可行的。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

然后build步骤,记得选择需要构建的pom文件,及构建需要执行的maven指令
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

在构建后的步骤选择执行shell
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

因为这里用容器启动springboot项目,shell的作用是根据项目的Dockerfile创建一个运行项目的容器。注意,复制下面的shell时,需要更改生成的项目路径、容器名及映射端口号,请按照实际填写。

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

cd /var/jenkins_home/workspace/test/

img_output=test

# 先删除之前的容器
echo "remove old container"
# docker ps -a | grep $img_output | awk '{print $1}'

if docker ps -a|grep -i volleyball;then 
docker rm -f volleyball
fi

# 删除之前的镜像
echo "remove old image"
docker rmi -f volleyball

# 构建镜像
docker build -t $img_output .

# 打印当前镜像
echo "current docker images"
docker images | grep $img_output
# 启动容器
echo "start container"
docker run --name $img_output -p 9010:9010 -d $img_output
# 打印当前容器
echo "current container"
docker ps -a | grep $img_output
echo "start service success!"

然后回到Github,我们把钩子设置一下。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

URL填写按照上面的填写,为 服务器ip:端口/github-webhook/,注意Content-type选择json。然后选择添加。
最后试试push。然后回到Jenkins,看看构建结果。
Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动

如果显示为蓝色,然后在浏览器启动项目也成功,那就构建成功啦!

(Vue部分待更新有时间再写qwq)

Jenkins + Maven + Github/Gitlab + Springboot/Vue.js 实现自动相关教程

  1. Maven基本操作

    Maven基本操作 Maven基本操作 1.从Maven远程存储库下 2.Maven依赖机制 3.定制库到Maven本地资源库 1. mvn 安装 2. pom.xml 3. 完成 4.使用Maven创建Java项目 1. 从 Maven 模板创建一个项目 2.Maven目录布局 3. Eclipse IDE 4. 更新POM 5. 更新业务逻辑 6. Mav

  2. github的种种无法加载此网页(有新的再更新)——仅是整合而已

    github的种种无法加载此网页(有新的再更新)——仅是整合而已 github的种种无法加载此网页 1、无法访问此网站找不到 raw.githubusercontent.com 的服务器 IP 地址。 2、访问git个人博客时*.github.io 拒绝了我们的连接请求 **问题:**找不到 raw.githubuserc

  3. idea配置maven

    idea配置maven 1.maven下载 下载地址:http://maven.apache.org/download.cgi 下载后解压到全英文目录。 2.配置环境变量 创建系统变量:MAVEN_HOME 修改Path:%MAVEN_HOME%\bin 3.修改maven国内镜像库 修改:apache-maven-3.6.3\conf\settings.xml mirror ida

  4. k8s集成Jenkins实现项目自动上线

    k8s集成Jenkins实现项目自动上线 k8s对接Jenkins 1.开发还是一样的写java代码,写好java代码后提交到gitlab仓库中,Jenkins在通过gitlab去拉取这些代码,开发只需要在Jenkins页面上点一下立即构建,就会调用shell命令将代码通过docker build 来构建镜像。2.do

  5. jenkins 自动化部署(后台)

    jenkins 自动化部署(后台) 包的话需要自己到官网下载https://www.jenkins.io/download/ 安装jenkins rpm -ivh jenkins-2.190.3-1.1.noarch.rpm 修改Jenkins配置 vim /etc/sysconfig/jenkins 修改内容如下: JENKINS_USER=root JENKINS_PORT=10008 启动Jenki

  6. Github 无法登陆,网站超时问题

    Github 无法登陆,网站超时问题 网络诊断为:电脑配置没有问题,但是该网站服务器资源无法访问。 简单点直接上解决办法:在hosts文件中添加网站IP。 在文件目录下:C:\Windows\System32\drivers\etc 中,将hosts文件复制到桌面,右键 【属性】将【只读】勾掉

  7. #R2-如何用Git向Github上传大文件(超过100M)

    #R2-如何用Git向Github上传大文件(超过100M) 如何用Git向Github上传大文件(超过100M) 问题描述 配置环境 背景介绍 相关步骤 问题描述 今天用指令 git push origin main 向github进行文件上传的时候,忽然报错,错误如下所示,我们可以看到是因为我们上传

  8. maven打包后丢失文件注释

    maven打包后丢失文件注释 第一步:pom配置添加相关plugin: pluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationskiptrue/skip/configuration/plugin!-- 生成javadoc文档包的插件 --plugingroup