使用Jenkins构建项目

使用Jenkins构建项目

 本教程主要演示在Linux系统安装jdk, maven, git, Jenkins, nexus 。并且将maven私服搭建起来,创建Jenkins项目,使用jenkins构建项目,将构建的jar包发布到私服nexus上。

Linux系统采用虚拟机的方式运行,IP地址192.168.168.101

一、      安装篇

1、 安装JDK

a、  下载jdk

wget http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u161-linux-i586.tar.gz

b、 解压

mkdir /usr/local/java

cp jdk-8u161-linux-i586.tar.gz /usr/local/java

cd /usr/local/java

tar -zxvf jdk-8u161-linux-i586.tar.gz

c、  设置环境变量

vi /etc/profile

在文件末尾追加

export JAVA_HOME=/usr/local/java/jdk1.8xxxx   

export PATH=$PATH:$JAVA_HOME/bin

 

d、刷新环境变量

source/etc/profile

e、验证安装是否成功

 

2、 安装maven

 

wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

 

mkdir/usr/local/maven

cp apache-maven-3.5.3-bin.tar.gz/usr/local/maven

 

cd/usr/local/maven

tar -zxvf apache-maven-3.5.3-bin.tar.gz

 

vi /etc/profile

在文件末尾加上

exportMAVEN_HOME=/usr/local/maven/apache-maven-3.5.3

exportPATH=$PATH:$MAVEN_HOME/bin

保存退出

Source/etc/profile

 

测试

 

 

3、 git安装

yum install git

键入2次y后安装成功

 

 

4、 安装Tomcat

wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7.tar.gz

 

mkdir/usr/local/tomcat9

cp apache-tomcat-9.0.7.tar.gz/usr/local/tomcat9

 

cd/usr/local/tomcat9

 

tar -zxvf apache-tomcat-9.0.7.tar.gz

启动Tomcat

cd /usr/local/tomcat9/apache-tomcat-9.0.7/bin

./startup.sh

 

在宿主机浏览器中输入  httpp://192.168.168.101:8080

发现页面无法显示

 

 

在宿主机上ping192.168.168.101

发现能ping

 

关掉虚拟机的防火墙后

 

安装成功

 

 

 

5、 安装nexus

下载

wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/oss/nexus-2.14.8-01-bundle.tar.gz

如果下载提示错误,请通过宿主机来进行下载

mkdir/usr/local/nexus

cp nexus-2.14.8-01-bundle.tar.gz  /usr/local/nexus

cd  /usr/local/nexus

tar -zxvf nexus-2.14.8-01-bundle.tar.gz

cd nexus-2.14.8-01

vi conf/nexus.properties

修改 ${bundleBasedir}为安装nexus的目录

 

 

cd bin

vi nexus

设置 RUN_AS_USER=root

 

              启动nexus

              ./nexusstart

             

 

              访问 http://192.168.168.101:8081/nexus

      

 

用admin/admin123可登录

 

6安装Jenkins

http://mirrors.jenkins.io/war-stable/latest/jenkins.war下载Jenkins

 

部署到Tomcat的webapp目录下

cp jenkins.war  /usr/local/tomcat9/apache-tomcat-9.0.7/webapps

 

cd ../bin

./startup.sh

 

然后在宿主机浏览器中输入

http://192.168.168.101:8080/jenkins

 

cat /root/.jenkins/secrets/initialAdminPassword

将下面出现的字符复制到管理员密码处  点击继续

选择安装插件的方式, 两种方式都可以

 

创建管理员用户,建议自己手动输入管理员账户和密码, 本例创建的管理员为admin/admin

 

二、      使用eclipse创建maven工程,并添加到私服。

1、配置settings.xml 如下文件

 

 

2、创建maven 工程, 在pom.xml文件中添加如下内容

          <distributionManagement>

        <snapshotRepository>

          <id>nexus-snapshots</id>

         <name>repo-snapshot</name>         <url>http://192.168.168.101:8081/nexus/content/repositories/snapshots/</url>

        </snapshotRepository>

        <repository>

          <id>nexus-releases</id>

          <name>repo-release</name>

         <url>http://192.168.168.101:8081/nexus/content/repositories/releases/</url>

        </repository>

  </distributionManagement>

 

注意: id 元素要和settings-test.xml中的 service 元素id 一致

 

 

 

2、  打包,并将打好的jar包上传到私服快照仓库

 

更换jre目录为jdk下的jre

 

再次运行  mvn clean install -Dmaven.test.skip=truedeploy 成功

 

 

 

在nexus服务器查看新打的包

 

发现已经上传到私服快照仓库,多打几次依然没有问题

 

3、  打正式环境的包

将pom.xml文件中修改

        <groupId>com.biaoyue</groupId>

        <artifactId>testdemo</artifactId>

         <version>0.0.1-SNAPSHOT</version>

 <packaging>jar</packaging>

 

改为

<groupId>com.biaoyue</groupId>

        <artifactId>testdemo</artifactId>

         <version>0.0.1-RELEASE</version>

 <packaging>jar</packaging>

 

后继续打包

 

打包成功

 

 

再运行打包

发现打包失败

 

 

发现release仓库设置不允许重复打包

 

将其改为允许重复打包  Allow Redeploy

 

再次运行打包命令

再次打包成功。

 

 

 

 

 

 

三、      使用git提交代码到github

 

1、  在github上创建项目mytest

 

2、  本地安装git、设置用户名和邮箱、生成公钥、将公钥提交到github 等步骤略。

 

3、  创建目录  F:/git/mytest

执行 git init

 

4、  绑定远程仓库

 

5、将eclipse空间代码复制到mytest目录(这种方式比较low,主要是为了演示用命令行的方式操作git。 还可以在eclipse中绑定git地址的方式来提交代码,但eclipse里git插件用起来不太直观,所以我更偏向于用命令的方式, 萝卜白菜各有所爱吧。望各位看官非喜勿喷。)

 

5、  提交代码

 

git add .  

git commit -m “first commit”

 

 

 

       6向远程仓库同步代码

 

第一次向远程仓库提交代码用 git -u origin master  , 以后就可以直接用  git push提交。

 

到远程仓库查看代码已经提交上来了。

 

 

 

四、      在Jenkins中添加project, 实现从git下载代码,打包推送到私服仓库。

1、  创建自由风格的项目,填写项目名称、描述、设置日志保存策略。

 

2、  关于GIT插件

因为有可能每个人安装的过程遇到的问题不一样,所以在安装git等插件有问题的时候请自行找度娘解决。我这里在安装默认插件的时候发现GIT安装不上,于是就从安装插件里安装成功了。

 

3、  生成ssh key,并提及到github.

 

这一步的目的是让安装Jenkins的主机能在github上面去下代码。

如果安装Jenkins的机器中没有生成ssh key 的可以在安装Jenkins的主机上执行ssh-keygen -t rsa 命令生成公钥。

 

三个回车后 公钥就生成好了, 目录是 /root/.ssh

 

 

复制id_rsa.pub 文件中的内容。 添加到github中, 下图中的 Linux_101就是行加的sshkey

 

 

注意,另外的一种方式是 在Jenkins中配置github的用户名和密码。 所谓条条大路通罗马,看各自的喜欢吧。

 

 

4、  在jenkins中设置源码下载地址

 

因为设置了sshkey  所以 credentials 这个地方就不用设置了,选择none即可。

Branch Specifier (blank for 'any')  默认是master可根据实际情况选择分支,比如开发环境可以用dev, 生产环境用release分支, andso on ….

 

5、  设置构建环境

添加构建步骤,选择invoke top-maven targets

 

添加构建命令, clean install -Dmaven.test.skip deploy

 

 

 

6保存后,到项目中选择mytest,  构建

 

 

发现构建失败,原因是没有设置settings.xml

我们将settings-test.xml内容复制到Jenkins主机/usr/local/maven/apache-maven-3.5.3/conf,  将此目录中原来的settings.xml重命名为settings.default.xml, 然后将settings-test.xml 命名为settings.xml , 将<localRepository>f:/repositorys/</localRepository>修改为  <localRepository>/home/repositorys/</localRepository>

创建 /home/repositorys 目录。

再使用Jenkins重新构建

 

 

构建成功,打包上传到私服也成功。

 

注意:使用Jenkins构建项目的配置方式有多种,本文档采用了一种比较简单方便的方式来介绍。

 


猜你喜欢

转载自blog.csdn.net/xmc125/article/details/80049279