Docker安装jenkins实现微服务多模块打包的示例代码

目录
  • 1.安装
  • 2.初始化
  • 3.配置jenkins
    • 3.1 安装Maven
    • 3.2 配置Maven插件
    • 3.3 安装svn插件
  • 4. 创建自动化部署任务
    • 4.1 配置清理旧的构建
    • 4.2 创建svn账密凭证
    • 4.3 填写build命令
    • 4.4 首次构建
  • 5. 配置maven运行命令及shell脚本
    • 5.1 maven父子项目依赖指令配置
    • 5.2打包完成之后shell命令

废话不多说,直接讲正事

1.安装

# 1.pull jenkins(若使用jdk11则可pull最新版jenkins,否则最新版配置jdk8时会有兼容bug)
docker pull jenkins/jenkins:alpine-jdk8

# 2.run jenkins
docker run -d --name jenkins jenkins/jenkins:alpine-jdk8

# 3.拷贝jenkins_home到宿主机
docker cp jenkins:/var/jenkins_home /data/

# 4.删除刚刚启动的jenkins
docker stop jenkins && docker rm jenkins

# 5.重新启动一个映射拷贝出来的home
docker run -d --restart=unless-stopped --name jenkins -u root \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /data/esp/:/data/esp/ \
-v /data/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-p 9090:8080 -p 50000:50000 jenkins/jenkins:alpine-jdk8
# -uroot:已jenkins中root用户启动
# -p:映射容器中8080、50000端口到宿主机的9090、50000端口
# -v:映射项目部署目录及jenkins工作目录到容器中
# -v /etc/localtime:/etc/localtime:同步容器与宿主机的时间

docker logs -f jenkins

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

------------此处应有密码------------

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

2.初始化

访问:http://ip:9090

出现下图表示正在启动中,稍等片刻即可

密码上文:------------此处应有密码------------

3.配置jenkins

3.1 安装Maven

Manage Jenkins -> Global Tool Configuration -> Maven

3.2 配置Maven插件

Manage Jenkins -> Manage Plugins -> filter搜索:Maven Integration

3.3 安装svn插件

4. 创建自动化部署任务

工作台->新建任务

4.1 配置清理旧的构建

不清理的话可能jar包会越来越多撑满磁盘

4.2 创建svn账密凭证

id/用户名:svn账号
密码:svn密码
描述:凭证名称(可不填)
其余可不填,点击添加即可

4.3 填写build命令

clean package或clean install

4.4 首次构建

下图表示正在拉取svn项目,耐心等待即可

至此为止,就可以符合大部分maven项目拉取、打包的功能了,剩下一些简单的sh脚本启动可自行百度,很简单。
下文偏俺公司个性化操作,执行sh文件来启动项目等,对他人意义不大,可以了解了解;或者把我执行sh文件的shell命令改成启动java程序即可

5. 配置maven运行命令及shell脚本

5.1 maven父子项目依赖指令配置

5.2打包完成之后shell命令

#!/bin/bash
project_name="manage"
dir_name="manage"
ps -ef | grep ${project_name}.jar | grep -v grep | awk '{print $2}' | xargs  kill -9
cd /home/espuser/.jenkins/workspace/package_script
mv ${project_name}.jar /data/esp/${dir_name}/
echo "start project"

cd /data/esp/${dir_name}/
BUILD_ID=dontKillMe nohup java -jar ${project_name}.jar --spring.profiles.active=prod \
| cronolog ./logs/${project_name}/catalina-%Y-%m-%d.out >> /dev/null 2>&1 &
echo "start success"

到这就全配置好了,保存后点击部署即可;查看控制台输出:↓

到此这篇关于Docker安装jenkins实现微服务多模块打包的示例代码的文章就介绍到这了,更多相关Docker jenkins多模块打包内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker搭建Jenkins并自动化打包部署项目的步骤

    Jenkins的安装及配置 Docker环境下的安装 下载Jenkins的Docker镜像: docker pull jenkins/jenkins:lts 在Docker容器中运行Jenkins: docker run -p 8080:8080 -p 50000:5000 --name jenkins \ -u root \ -v /mydata/jenkins_home:/var/jenkins_home \ -d jenkins/jenkins:lts 直接通过虚拟机ip+端口访问jks,

  • Jenkins打包微服务构建Docker镜像运行的实现

    目录 环境准备 开始 1.GitLab远程仓库创建微服务项目 2.IDEA代码推送到Gitlab 3.Jenkins创建流水线项目 4.参数化构建 5.拉取远程仓库的构建脚本 6.编写远程审查脚本sonar-project.properties 构建脚本 环境准备 1.Jenkins 2.GitLab 3.SonarQube 4.Harbor 5.Docker 6.Maven 7.JDK1.8 8.微服务项目 以上技术部分在我之前的文章中有写过 这里就不过多细化的演示,本文章主要是连贯性的将微服

  • Docker安装jenkins实现微服务多模块打包的示例代码

    目录 1.安装 2.初始化 3.配置jenkins 3.1 安装Maven 3.2 配置Maven插件 3.3 安装svn插件 4. 创建自动化部署任务 4.1 配置清理旧的构建 4.2 创建svn账密凭证 4.3 填写build命令 4.4 首次构建 5. 配置maven运行命令及shell脚本 5.1 maven父子项目依赖指令配置 5.2打包完成之后shell命令 废话不多说,直接讲正事 1.安装 # 1.pull jenkins(若使用jdk11则可pull最新版jenkins,否则最新

  • vue-cli扩展多模块打包的示例代码

    场景 在实际的项目开发中会出现这样的场景,项目中需要多个模块(单页或者多页应用)配合使用的情况,而vue-cli默认只提供了单入口打包,所以就想到对vue-cli进行扩展 实现 首先得知道webpack是提供了多入口打包,那就可以从这里开始改造 新建build/entry.js const path = require('path') const fs = require('fs') const moduleDir = path.resolve(__dirname, '../src/module

  • 使用Docker安装Jenkins的示例代码

    在docker安装容器的时候容易遇到的两个问题 1.port is already allocated(端口被指派了) 解决办法:改端口 2.that container to be able to reuse that name 解决办法:查看(删除)之前的容器 docker ps -a | grep jenkins_im docker rm jenkins_im 启动docker服务 sudo systemctl start docker vi /home/jenkins/docker-co

  • 在云服务器上基于docker安装jenkins的实现步骤

    目录 基于docker安装jenkins 设置jenkins的反向代理 jenkins是老牌的CI/CD工具.下面记录一下在云服务器上的安装过程. 基于docker安装jenkins 下面记录了如何在云服务器上安装jenkins. 新建一个jenkins_docker文件夹,在文件夹里新建一个data文件夹.并给data文件夹读写权限. chmod -R a+w data/ 新建一个docker-compose.yml文件.添加下面的内容: version: "3.1" service

  • Docker 安装 Jenkins 并解决初始安装插件失败问题

    安装 Jenkins 后,初始化下载插件总是失败,导致安装不成功,重试好几次都是卡在安装插件那. 这里记录下 Docker 下怎么安装 Jenkins ,并解决初始安装插件失败问题. 安装插件失败,其实是拉取了官方的 Jenkins 镜像,然后在初始化安装插件时,会从国外的网站去获取,导致安装非常缓慢,或者安装失败.最好的解决方案时拉取 Jenkins 中文社区 提供的 Jenkins 镜像,即可解决.Jenkins 中文官网 :https://www.jenkins.io/zh/ 安装步骤获取

  • 使用Docker 安装 Jenkins的方法

    一.拉取镜像 我这里安装的版本是2.222.3-centos,可以去这里获取你需要的版本: https://hub.docker.com/_/jenkins?tab=tags ocker pull jenkins/jenkins:2.222.3-centos 二.创建本地数据卷 我这里映射本地数据卷的路径为/data/jenkins_home/,你想放别的地方可以自行修改 -p /data/jenkins_home/ 需要修改下目录权限,因为当映射本地数据卷时,/data/jenkins_hom

  • 新手必看docker安装jenkins详细教程

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. jenkins基本工作原理 以上为基本工作原理,只是为了开发人员更好的理解画的(个人理解),详情可查看官方文档:https://www.jenkins.io/zh/ 一.jenkins安装 1.查找,下载jenkins镜像文件 启动docker,查找Jenkins镜像文件 docker search jenkins 下载Jenkins镜像文件

  • Docker 安装Jenkins全过程及踩坑指南

    目录 Docker安装Jenkins 1.安装过程 2.Jenkins安装npm 2.1.替换容器的源 2.2.安装nodejs和npm 3.Jenkins流水线+Docker+Maven+Githubwebhooks+Springboot 3.1.需要的插件和配置 3.1.1.插件 BlueOcean MavenIntegration 3.1.2.配置 3.1.3.安装maven 3.1.4.配置Jenkins使用Docker 3.1.5.配置Jenkins中的GitSSH 3.1.6.Git

  • 聊聊使用docker安装nginx提供web服务的问题

    目录 一.拉取镜像 二.运行镜像启动容器 三.文件映射 四.再次启动容器服务 一.拉取镜像 docker pull命令用于拉取应用镜像,docker pull nginx命令用于拉取最新版本的nginx镜像.下文为拉取镜像过程的响应结果: # docker pull nginx Using default tag: latest latest: Pulling from library/nginx c229119241af: Pull complete 2215908dc0a2: Pull co

  • Docker Swarm实现服务的滚动更新的示例代码

    一.什么是Docker Swarm? Docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些. Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创

随机推荐