Jenkins+maven+svn搭建记录

jenkins+maven+svn搭建记录

一、背景描述

在没有jenkins之前,所有程序的部署都是手动的,包括程序包下载、打包、上传、运行。相对于手动部署,自动化部署能够减少90%的时间,只需要点击要构建的项目即可。CI/CD是现在也是未来的趋势,把更多的精力放在关键工作上。

二、搭建过程

1、环境使用centos7操作系统,默认自带java1.8.0_242版本,查看java版本:

java -version

2、下载jenkins的war包,版本为:2.235.3,运行

   nohup java -jar jenkins.war --httpPort=80 &

3、首次登陆需要输入管理员密码,可在nohup文件中查看。
4、安装推荐的插件(很有可能安装不成功)
5、若插件未安装成功,首先修改配置文件/root/.jenkins/updates/default.json(运行war包后,系统会自动创建/root/.jenkins/文件夹)

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

修改完之后就可以正常安装插件了,若要对插件进行更新需要修改以下文件:
在这里插入图片描述
把升级站点改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
6、安装必要的插件,若实在下载不了可在https://plugins.jenkins.io/
搜索下载,然后进行离线安装。
在这里插入图片描述
7、主机安装maven(若程序不需要maven,可不用安装),本机安装的是apache-maven-3.6.3
修改环境变量/etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH

重新加载环境变量后,查看mvn是否安装成功

source /etc/profile
mvn -v

修改maven镜像下载地址
/usr/local/apache-maven-3.6.3/conf/settings.xml,要不然依赖包无法下载,程序无法完成打包

    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

8、新建构建项目,本案例使用svn自动下载指定程序。
在这里插入图片描述
需要注意的是:
(1)构建执行shell时需要加上#!/bin/bash -il,否则无法指定命令。
(2)构建后的操作与Send files or execute commands over SSH after the build runs效果是一样的
(3)Transfer Set中的source是指jenkins服务端的项目目录下的文件,要将此文件传给Remote directory目录;当创建一个项目时会自动在/root/.jenkins/workspace/下创建此项目的文件夹,此处source为相对与新项目下的路径。
(4)Remove prefix 为删除source指定文件的前缀target,要不然传到要部署的服务器上文件名会带上target。
(5)Exec command执行命令时需要绝对路径,同时命令会在程序包传输完毕后执行。
(6)高级里的Label对应参数化构建过程中的选项参数。1对应正式环境,2对应测试环境。
(7)在打包的过程中可以看到程序所需要的的依赖包不一定全部能下载,需要与研发同事沟通,自建的依赖包需要自己手动安装,对于java8部分小版本和高版本本身没有javax.xml.bind包,需要自己安装或者在pom.xml中增加

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.2.11</version>
</dependency>

三、总结

jenkins各功能主要是通过插件的形式实现的,还有很多功能有待发掘,可查找官网教程学习https://www.jenkins.io/zh/doc/。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值