精华内容
下载资源
问答
  • 3. 安装插件,选择默认的即可,可能会按装失败,不用担心,记录下哪些安装失败了,在之后启动jenkins,打开Jenkins管理页面上 进入插件管理,重选下载安装即可。如图,安装Jenkins时候 某些插件安装失败,之后...

    一、 环境搭建

    1. 打开Jenkins官网,从官网下载Jenkins安装包 https://jenkins.io/zh/download/

    2. 运行安装包,执行下一步操作即可。

    3. 安装插件,选择默认的即可,可能会按装失败,不用担心,记录下哪些安装失败了,在之后启动jenkins,打开Jenkins管理页面上  进入插件管理,重选下载安装即可。

    如图,安装Jenkins时候  某些插件安装失败,之后在jenkins的插件管理中,重现下载安装成功。

    注意: windows下直接使用下载的安装包进行安装,不需要在单独安装部署java环境,JDK 等。

    安装完成之后,在本地浏览器中输入 http://localhost:8080 , 打开jenkins的主界面如下:

    二、 插件介绍  安装

    三、 项目构建过程

    1. 新建项目任务

    2. 配置git参数

    3. 拉取代码,编译

    4. 构建,文件归档

    5.添加打包说明

    四、问题集

    1. jenkins打包,bat脚本中不能正常签名?

    使用电脑的系统用户名密码登陆jenkins服务。

    2. git配置出错

    git配置有两种方式:(1)通过用户名密码添加凭据,确保git登陆的用户名密码正确即可。

    (2)使用SSH 添加 git 凭据

    将git生成的公钥添加到git 项目中,同时把公钥添加到jenkins 凭据中即可。

    3. 不能生成sh文件,即shell命令不可用

    配置shell安装路径即可,默认时空的,所以执行shell脚本总是失败。

    4. Jenkins环境变量的使用

    构建分支:${Branch}

    构建版本:${BuildVersion}

    构建ID :     ${BUILD_ID}

    在execute windows batch command 中  使用这样的方式:例如 %BUILD_ID% 获取构建号

    5. 用户下载权限设置

    用户不用登陆,即可下载,但不能打包,修改配置。

    设置Configure Global Secturity,选择Logged-in users can do anything 即可。

    6. 查看jenkins详细打包日志

    在项目页面上选择 defaut,进入之后,选择正在构建的版本号,点击进去之后,在选择 控制台输出,即可观看详细的jenkisn日志,方便定位出错问题。

    其他问题  想起来在更新...

    展开全文
  • 前因后果最近工作不忙,研究一下自动化打包,要实现的目标是通过jenkins自动打包,拷贝到指定目录目标git更新了代码,jenkins自动打包部署第一部 安装jenkins看了一下文档jenkins竟然需要Docker安装....惊呆了????...

    前因后果

    最近工作不忙,研究一下自动化打包,要实现的目标是通过jenkins自动打包,拷贝到指定目录

    目标

    git更新了代码,jenkins自动打包部署

    第一部 安装jenkins

    看了一下文档jenkins竟然需要Docker安装....惊呆了🤯

    安装Docker

    安装依赖包

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    添加docker-ce yum仓库

    用的阿里的源

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    报错:

    已加载插件:fastestmirror

    adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 416 Requested Range Not Satisfiable"

    尝试其他镜像。

    Could not fetch/save url http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 416 Requested Range Not Satisfiable"

    查了一下 有说改源的,有改配置文件的,其实是在:/etc/yum.repos.d下发现已经有了一个docker-ce.repo 文件 删掉就可以了

    然后继续报错 ,缺少一堆包,

    踩坑记,一定要先查看自己系统的版本,我们的版本是CentOS6.8 新的版本需要的是CentOS 7 至于我们运维为什么装这么老的系统不得而知,我感觉后边还要坑我

    CentOS6.8 上安装docker

    yum install docker-io

    Loaded plugins: fastestmirror

    Setting up Install Process

    Loading mirror speeds from cached hostfile

    epel/metalink | 6.2 kB 00:00

    * base: mirrors.aliyun.com

    * epel: mirrors.ustc.edu.cn

    * extras: mirrors.aliyun.com

    * updates: mirrors.sohu.com

    epel | 4.3 kB 00:00

    epel/primary_db | 5.9 MB 00:01

    Resolving Dependencies

    --> Running transaction check

    ---> Package docker-io.x86_64 0:1.7.1-2.el6 will be installed

    --> Processing Dependency: lxc for package: docker-io-1.7.1-2.el6.x86_64

    --> Running transaction check

    ---> Package lxc.x86_64 0:1.0.10-2.el6 will be installed

    --> Processing Dependency: lua-lxc(x86-64) = 1.0.10-2.el6 for package: lxc-1.0.10-2.el6.x86_64

    --> Processing Dependency: lua-alt-getopt for package: lxc-1.0.10-2.el6.x86_64

    --> Processing Dependency: liblxc.so.1()(64bit) for package: lxc-1.0.10-2.el6.x86_64

    --> Running transaction check

    ---> Package lua-alt-getopt.noarch 0:0.7.0-1.el6 will be installed

    ---> Package lua-lxc.x86_64 0:1.0.10-2.el6 will be installed

    --> Processing Dependency: lua-filesystem for package: lua-lxc-1.0.10-2.el6.x86_64

    ---> Package lxc-libs.x86_64 0:1.0.10-2.el6 will be installed

    --> Processing Dependency: rsync for package: lxc-libs-1.0.10-2.el6.x86_64

    --> Running transaction check

    ---> Package lua-filesystem.x86_64 0:1.4.2-1.el6 will be installed

    ---> Package rsync.x86_64 0:3.0.6-12.el6 will be installed

    --> Finished Dependency Resolution

    Dependencies Resolved

    ==============================================================================================================================================================================================================================================================================

    Package Arch Version Repository Size

    =====================================================================================================================================================================================================

    Installing:

    docker-io x86_64 1.7.1-2.el6 epel 4.6 M

    Installing for dependencies:

    lua-alt-getopt noarch 0.7.0-1.el6 epel 6.9 k

    lua-filesystem x86_64 1.4.2-1.el6 epel 24 k

    lua-lxc x86_64 1.0.10-2.el6 epel 16 k

    lxc x86_64 1.0.10-2.el6 epel 124 k

    lxc-libs x86_64 1.0.10-2.el6 epel 258 k

    rsync x86_64 3.0.6-12.el6 base 335 k

    Transaction Summary

    =====================================================================================================================================================================================================

    Install 7 Package(s)

    Total download size: 5.3 M

    Installed size: 21 M

    Is this ok [y/N]: y

    Downloading Packages:

    (1/7): docker-io-1.7.1-2.el6.x86_64.rpm | 4.6 MB 00:04

    (2/7): lua-alt-getopt-0.7.0-1.el6.noarch.rpm | 6.9 kB 00:00

    (3/7): lua-filesystem-1.4.2-1.el6.x86_64.rpm | 24 kB 00:00

    (4/7): lua-lxc-1.0.10-2.el6.x86_64.rpm | 16 kB 00:00

    (5/7): lxc-1.0.10-2.el6.x86_64.rpm | 124 kB 00:00

    (6/7): lxc-libs-1.0.10-2.el6.x86_64.rpm | 258 kB 00:00

    (7/7): rsync-3.0.6-12.el6.x86_64.rpm | 335 kB 00:00

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Total 502 kB/s | 5.3 MB 00:10

    warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY

    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

    Importing GPG key 0x0608B895:

    Userid : EPEL (6)

    Package: epel-release-6-8.noarch (installed)

    From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

    Is this ok [y/N]: y

    Running rpm_check_debug

    Running Transaction Test

    Transaction Test Succeeded

    Running Transaction

    Warning: RPMDB altered outside of yum.

    Installing : lua-filesystem-1.4.2-1.el6.x86_64 1/7

    Installing : lua-alt-getopt-0.7.0-1.el6.noarch 2/7

    Installing : rsync-3.0.6-12.el6.x86_64 3/7

    Installing : lxc-libs-1.0.10-2.el6.x86_64 4/7

    Installing : lua-lxc-1.0.10-2.el6.x86_64 5/7

    Installing : lxc-1.0.10-2.el6.x86_64 6/7

    Installing : docker-io-1.7.1-2.el6.x86_64 7/7

    Verifying : lua-lxc-1.0.10-2.el6.x86_64 1/7

    Verifying : lxc-libs-1.0.10-2.el6.x86_64 2/7

    Verifying : lxc-1.0.10-2.el6.x86_64 3/7

    Verifying : docker-io-1.7.1-2.el6.x86_64 4/7

    Verifying : rsync-3.0.6-12.el6.x86_64 5/7

    Verifying : lua-alt-getopt-0.7.0-1.el6.noarch 6/7

    Verifying : lua-filesystem-1.4.2-1.el6.x86_64 7/7

    Installed:

    docker-io.x86_64 0:1.7.1-2.el6

    Dependency Installed:

    lua-alt-getopt.noarch 0:0.7.0-1.el6 lua-filesystem.x86_64 0:1.4.2-1.el6 lua-lxc.x86_64 0:1.0.10-2.el6 lxc.x86_64 0:1.0.10-2.el6 lxc-libs.x86_64 0:1.0.10-2.el6 rsync.x86_64 0:3.0.6-12.el6

    Complete!

    注意:

    最docker-1.10以后彻底放弃了lxc转而使用libcontainer(go).建议安装最新的docker使用centos7.

    这样docker 安装成功

    来继续Jenkins

    sudo docker pull jenkins

    2019/09/19 15:50:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

    没解决方案,放弃了 感觉是防火墙之类的问题 隔绝了服务,

    考虑直接安装Jenkins

    直接安装Jenkins 就简单多了

    sudo yum install jenkins

    sudo service jenkins start

    就启动了 jenkins 服务

    展开全文
  • 欢迎指出~~记录下如何使用Jenkins自动打包、部署Vue前端应用(对于所有前后端分离的前端静态项目都通用)3、本篇环境信息服务器操作系统硬件配置IP说明CentOS 74C16G10.133.28.54部署JenkinsJenkins版本Jen...

    一、前言

    1、本文主要内容

    将在项目中实际使用到的相关东西整理记录一波,同时可以方便其他同学在使用到的时候参考一下(自己也备忘),有不对的地方,欢迎指出~~

    • 记录下如何使用Jenkins自动打包、部署Vue前端应用(对于所有前后端分离的前端静态项目都通用)

    3、本篇环境信息

    • 服务器

      操作系统硬件配置IP说明
      CentOS 74C16G10.133.28.54部署Jenkins
    • Jenkins版本

      Jenkins安装包有两种,一种是LTS,一种是Weekly。LTS是稳定版,Weekly每周会更新一次,一般使用LTS就行了,最新版的LTS:2.235.2

    • Docker

      Docker Engine - Community : 19.03.8

    • Spring Boot应用

      使用的是版本2.2.5.RELEASE,当然只要是一个Spring Boot应用都可以

    • GitLab

      本文演示使用的是社区版12.7.6   也可以使用GitHub 、Gitee或者SVN都可以

    二、准备工作

    1、Docker 环境安装

    在Linux服务器上安装Docker环境,具体可以参考Docker | 在CentOS上安装Docker Engine

    2、Jenkins 环境安装

    在Linux服务器上安装Jenkins,具体可以参考:CentOS下使用Docker安装Jenkins及配置详细教程

    3、GitLab 环境安装

    在Linux服务器上安装GitLab,具体可以参考:GitLab持续集成发布之一:CentOS7下GitLab安装部署教程

    三、打包及部署

    本文使用的前端是项目是Vue项目,是部署到Nginx进行访问的

    Vue项目的打包需要使用Node环境,Jenkins也是可以在插件中心安装NodeJs的插件的,非常简单方便,不了解的同学可以参考这篇文章:CentOS下使用Docker安装Jenkins及配置详细教程

    安装完成之后,可以到Global Tool Configuration配置NodeJs的版本,也非常简单,不在说明。

    • 新建一个自由风格的任务

      0de2fccd11a39ff29dac6f1d3c64d080.png
    • 配置源码管理

      我这边使用的是GitLab,当然你们使用Github、Gitee都是可以的,指定前台的代码路径。

      1c2f70114d5e0e0758165a82f73a790e.png

      增加一个访问GitLab的用户名密码

      553dce868ba39f2edb15f7ad377f2724.png
    • 配置构建环境

      在构建环境,我们需要选择使用NodeJs的相关信息,具体如下:

      727f6765b269207609b03399968914be.png
    • 配置构建打包前台代码

        点击增加构建步骤-->执行shell,具体配置项参考下图:

    • 9b3fde50885c4dd526708f05cd84522e.png
    • 将打好包的静态资源文件传到Nginx服务器。

        点击增加构建步骤-->Execte shell script on remote host using ssh选项,这个是到远程服务器执行脚本,还有另外一种方式,在一键打包Spring Boot应用那片文章里,有兴趣的可以翻翻看看,具体如下图:

    • 20f329cd8f2709c216a34e5dbe8d9e6a.png
    • 点击保存

        这样就可以了,点击立即构建,就可以实现一键打包部署了。

    这种方式针对测试环境完全可用了,但在微服务当道的今天,前端也需要打成镜像,使用Docker容器进行快速部署

    那么前端静态资源文件如何打成镜像?与Nginx如何进行集成?

    其实也挺简单的,在经过PAAS组的大拿同学指导之后,瞬间觉得确实挺简单,哈哈

    后续以Vue项目为例,单独写一下。

    相关文章:

    Jenkins | 一键打包部署Spring Boot 应用的Docker镜像

    记录Jenkins报出大量package does not exist案发现场

    觉得有用就顺手转发一下,右下角点个在看,非常感谢!

    长按/扫码关注我吧,会找到你想要的……465263772550471a7f9bd4b6d6e87e77.png 

    024cd2d16f347eaef976af5e3d04c8eb.png

       喜欢就点个在看吧2af1a62c2065cb0eda0efc208cd943f5.png

    展开全文
  • 一、新建一个自由风格项目image.png二、配置参数... maven打包配置选择调用顶层Maven目标,Maven版本之前已经在全局工具配置中设置过,目标中填入打包命令image.png2. 执行shell配置此脚本为打包备份,回滚脚本image...

    一、新建一个自由风格项目

    image.png

    二、配置参数化构建过程

    添加选项参数

    image.png

    填入以下内容

    image.png

    2.添加字符参数

    image.png

    三、配置SVN

    image.png

    四、配置构建步骤

    1. maven打包配置

    选择调用顶层Maven目标,Maven版本之前已经在全局工具配置中设置过,目标中填入打包命令

    image.png

    2. 执行shell配置

    此脚本为打包备份,回滚脚本

    image.png

    填入以下脚本

    备份回滚脚本

    case $Status in

    Deploy)

    echo "Status:$Status"

    path="${WORKSPACE}/bak/${BUILD_NUMBER}" #创建每次要备份的目录

    if [ -d $path ];

    then

    echo "The files is already exists "

    else

    mkdir -p $path

    fi

    \cp -f ${WORKSPACE}/target/*.war $path #将打包好的war包备份到相应目录,覆盖已存在的目标

    echo "Completing!"

    ;;

    Rollback)

    echo "Status:$Status"

    echo "Version:$Version"

    cd ${WORKSPACE}/bak/$Version #进入备份目录

    \cp -f *.war ${WORKSPACE}/target/ #将备份拷贝到程序打包目录中,并覆盖之前的war包

    ;;

    *)

    exit

    ;;

    esac

    这样发布后以后,就会备份如下

    image.png

    image.png

    3. 定期删除脚本

    项目备份不可能无限制备份,这样很快就会占满磁盘,所以我们必须有清除老旧备份的机制。此处配置一个脚本,每次发布都执行一次,判断备份数是否超过5个,如果超过,则删除老旧备份,只保留最新的5个。

    再添加一个执行shell步骤,填入以下脚本,其中备份数量可以自行修改减小或加大

    删除老旧备份脚本

    ReservedNum=5 #保留文件数

    FileDir=${WORKSPACE}/bak/

    date=$(date "+%Y%m%d-%H%M%S")

    cd $FileDir #进入备份目录

    FileNum=$(ls -l | grep '^d' | wc -l) #当前有几个文件夹,即几个备份

    while(( $FileNum > $ReservedNum))

    do

    OldFile=$(ls -rt | head -1) #获取最旧的那个备份文件夹

    echo $date "Delete File:"$OldFile

    rm -rf $FileDir/$OldFile

    let "FileNum--"

    done

    五、配置发送到远程tomcat目录

    image.png

    其中Source files要注意配置正确,否则发送不了war包,我的jenkins该项目的workspace如下:

    image.png

    六、发布

    回到项目主界面,点击Build with Parameters

    发布选择Deploy--->开始构建,即可开始发布。

    image.png

    回滚选择Rollback--->输入回滚版本---->开始构建,版本号从构建历史中选择一个输入

    展开全文
  • for temp_pid in ${api_pid} do kill -9 ${temp_pid} done war_file="/home/ucmed/jenkins/root/ROOT.war" if [ -f "$war_file" ]; then echo "War file exists, deploy and start the server." #backup flows ...
  • 产生背景各个小组分别负责各个具体模块开发, 本模块独立测试虽然能够通过, 但是上线前夕将所有模块整合到一起集成测试却发现很多问题, 想要解决就...持续集成工具Jenkins 和Husband都可以整合 GitHub 或 Subvers...
  • 测试部门要求打包能显示自增版本号或时间戳,以区别打包版本在测试手中的不同,好定位指定打包版本的问题。在Xcode工程里选择对应的Target,在Build Phases里点击“New Run Script Phases”:在下面的窗口中写入类似...
  • 其实在写的博客有好几篇,但都是陆陆续续的,本来想继续写之前的,突然想起半个月前,同学提出,能不能在开发提tag时自动打包?之前发布过一篇项目流程规范,目前的项目都在遵守这个规范,而研发每次有改动过代码的...
  • 写在前面近期Android的小伙伴们也开始要发测试版本了,由于之前搭建了Jenkins + fastlane自动化打包iOS应用 ,所以这次就想一起解决Android的问题最先想到的方案当然就是跟iOS一样使用fastlane,查了下相关资料发现...
  • 安装部署docker jenkins 环境创建一个文件夹 用于存放jenkins相关配置mkdir /Users/mengfanxiao/docker/jenkins下载docker ...当前版本Jenkins 2.243启动镜像docker run -d -p 8080:8080 -p 50000:50000 --name ...
  • 一、centos安装jenkins1.1 安装jenkins1. Jenkins是一个Java应用程序,因此第一步需要确认具有java环境2.下一步是启用Jenkins存储库。为此,请使用以下curl命令导入GPG密钥: curl --silent --location ...
  • 检查两个打包环境的nexus库是不是同一个,如不是改成一样就行maven本地打包jenkins打包不一样大开发一个jar项目,由于要做消息发送端,就引用了公司kafka基本组件jar包。在本地跑的时候,什么问题都没有,然后提交...
  • 1.1 目标从git上指定分支下载代码,打包并发布到指定机器上,启动。1.2 实现如果已有项目,直接copy一份配置即可,修改一下即可使用如果没有配置好的,见第二节。2.配置jenkins2.1 General1)描述:项目描述2)丢弃旧...
  • 这一篇我们将实现第一自动化打包,迈出了我们成功的第一步。全局工具配置Manage Jenkins -->Global Tool Configuration一: jdk 安装可选择自动安装或设置使用本地的jdk如下。当勾选Install automatically 时,...
  • hdu 5643 King's Game 约瑟夫变形首先约瑟夫问题的数学推理过程:我们知道第一个人(编号一定是(m-1) mod n) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m mod n的人开始):k k...
  • 一、简介在持续集成中,版本管理是非常重要的一部分,本章将介绍如何Version Number Plug插件生成优雅的版本号。二、安装系统管理--》插件管理搜索 Version Number--》直接安装三、构建中使用一、配置找到项目--》...
  • 众所周知,我们在敏捷开发模式里一项很重要的工作就是搭建持续集成(CI)环境,将项目源码工程的编译,打包,测试,部署像流水线一样自动化地进行,整个操作过程无须人工介入,从而提高版本部署的质量,提高版本发布的...
  • 可以结合ansible/puppet这样的自动化工具来实现完善的一套部署方案,利用jenkins在我们的版本控制系统去拉去最新或者指定版本的代码,而后通过ansible来完成一建部署,大大减少了重复劳动力,为我们的开发、运维人员...
  • 本文主要介绍 Jenkins如有需要,可以参考如有帮助,不忘 点赞 ❥“唉,每天提交完代码都得自己打包再部署到测试环境和开发环境,好麻烦啊!都快变成运维了”“啊?哦!确实,每天打包部署确实都成为工具人了”一段...
  • 作者:onaug6th来源:...连接打包服务器打开svn管理工具,找到目标svn版本号并拉取项目拉取项目后,打开命令行,下载依赖。等待依赖下载结束后。敲下打包命令等待构建结束,并将资源文件压缩...
  • do # 循环服务器节点列表 # 注意一定要加"号,否则无法在远程执行命令 ssh $node "rm -f /webroot/web-demo && ln -s /opt/webroot/$1 /webroot/web-demo" # 立即回滚到指定版本,$1即指定版本参数 echo "${node...
  • Tips: 当你打开 会有更多选项,比如指定Unity版本发布,等等~ 不过建议别瞎配置。 对于BDFrame来说,做以下配置就行了: 因为很多设置都在这个函数里做好了 . 最后,我们开心的Run一下就结束今天的战斗了~ 小结: ...
  • 测试部门要求打包能显示自增版本号或时间戳,以区别打包版本在测试手中的不同,好定位指定打包版本的问题。 在Xcode工程里选择对应的Target,在Build Phases里点击“New Run Script Phases”: 在下面的窗口中写入...
  • 使用maven-resources-plugin配置不同环境,进行多环境打包 ...-- 指定JDK编译版本--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-
  • jenkins打包脚本

    2018-09-07 16:13:26
    这里只是记录一下Jenkins打包脚本, 这个脚本可以实现功能 * 包名 appname + 版本号 + 时间 * archive名 appname + 版本号 + 时间 * 包导出到指定目录 *archive导出到指定目录 #!/bin/sh export LANG=en_US....
  • Jenkins自动化项目打包

    2020-06-10 14:11:26
    使用maven前需要注意你本机配置的maven版本,项目最好是用本机的那个maven工具来进行打包,执行自动化之前必须先在本机用mvn跑通项目才行,不同的jdk需要在mvn文件中指定。 配置临时环境变量: window用set ...
  • Jenkins打包Maven项目

    2019-05-05 22:15:00
    Jenkins是一个用于持续集成的服务,简单些说,就是提交代码后,点一下(也可以设置自动检测),系统会自动下载你的代码并编译,然后复制或上传到指定位置,并给所有相关人发送邮件。 一、环境搭建 1.下载Jenkins...
  • 然后你可以配置各种版本的jdk,需要在jenkins指定各个版本jdk的路径, 这样就可以根据项目选择不同版本的JDK进行项目的构建 这个地方就是配置版本号,这个是一个变量来的,后边可以用的 这就可以选JDK版本了 这...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

jenkins指定版本打包