集成Git
为了jenkins能够拉取代码,需要安装Git环境和jenkins对应的Git插件
CentOS 7
上安装Git环境# 安装 $ yum install git -y # 查看版本 $ git --version
jenkins
安装Git
插件jenkins
配置Git环境此处无需在
jenkins
中配置Git环境,采用默认生成的即可Gitee码云对接
- 添加凭据
Jenkins->系统管理->系统->全局凭证->添加凭证
- Gitee上任意建一个仓库
测试凭据是否能够使用
jenkins-》新建任务-》自由风格项目
进入
jenkins
的工作空间查看文件是否拉取下来,所有拉取的文件都会存放在jenkins
工作空间中# 进入到工作空间查看 $ cd /home/jenkins/.jenkins/workspace/ $ ll drwxr-xr-x. 3 jenkins ci 73 Sep 20 01:14 gitee-test-password drwxr-xr-x. 2 jenkins ci 6 Sep 20 01:14 gitee-test-password@tmp $ cd gitee-test-password $ ll -rw-r--r--. 1 jenkins ci 829 Sep 20 01:14 README.en.md -rw-r--r--. 1 jenkins ci 918 Sep 20 01:14 README.md $ cat README.md
- 到此用户名密码方式的凭证已经打通Git
- 添加凭据
- 阿里云codeup对接
github对接
问题回答:fatal: unable to access 'https://gitee.com/nobug8/jenkins-maven-test.git/': Could not resolve host: gitee.com; Unknown error 报错,如果凭证没问题仍然出现该错误,可以尝试一下方案:vim /etc/resolv.conf # 在最后一行增加nameserver 8.8.8.8或者nameserver 114.114.114.114即可。
集成Maven
在jenkins
上发布Java项目时需要使用Maven
来进行构建打包(Gradle项目则需要安装配置Gradle)
下载安装
# 切换到root用户 $ su root Password: # 找一个目录存放maven $ cd /usr/local/java/ # 从阿里云上下载maven安装包 $ wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz # 解压 $ tar -zxvf apache-maven-3.6.3-bin.tar.gz # 当前maven的安装目录为:/usr/local/java/apache-maven-3.6.3
环境配置
$ vim /etc/profile 在最后面JDK配置上作出一些更改 export MAVEN_HOME=/usr/local/java/apache-maven-3.6.3 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
使配置生效并查看安装情况
$ souce /etc/profile $ mvn -version
jenkins
配置Maven
安装Maven插件使用
jenkins
用户在/data/software
目录下新建一个repository
文件夹,用来作为maven
的仓库$ cd /data/software $ mkdir repository
使用
root
账户修改Maven的settings.xml
文件(指定仓库目录和阿里云镜像)<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!--本地仓库--> <localRepository>/data/software/repository</localRepository> <mirrors> <!--阿里云镜像--> <mirror> <id>aliyun-maven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven mirror</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> </mirrors> ... ... </settings>
- jenkins配置settings.xml文件
Maven测试项目构建
接下来的步骤是将java项目传到Gitee上供jenkins拉取打包,如果运维同学不懂Java代码,可以直接将我的Git项目fork或采用gitlab 等其他方式进行拉取。
- 新建Maven项目
- 在码云上建一个同名的git项目
使用Git上传到码云
使用
git bash
命令将项目初始化,无论是传到Gitee、GitHub、GitLab、Codeup步骤一样。# 进入到本地的项目文件夹 $ cd existing_folder # 初始化仓库 $ git init # 添加文件至工作区并提交 $ git add . $ git commit -m "first commit" # 关联Gitee远程仓库 $ git remote add origin https://gitee.com/nobug8/it235-jenkins-jar.git # 将本地仓库推送到远程仓库的master分支,此处会弹出用户名密码交互 $ git push -u origin master ## 如果push报错可以先拉取一下,会有新的gitee生成的文件拉下来,然后重新添加提交并push $ git pull origin master --allow-unrelated-histories $ git add . $ git commit -m "拉取下来合并后再次提交" $ git push -u origin master
jenkins添加Maven项目任务
- 新建任务
- 编写描述
- 连接Git仓库
- 编写Maven编译命令
- 构建并查看控制台日志
保存后,点击立即构建,然后进入日志控制台查看日志
从日志可以看到代码已经在拉取了,而且走的事阿里云仓库,第一次拉取过程会比较长。
通过查看
/data/software/repository
可以看到有存放拉取的jar包,通过这2个证据可以证明settings.xml
文件配置成功且有效 - 构建成功后查看
jenkins
的workspace
目录下的jar包
总结
通过对Maven和Git的集成,我们的jenkins已经具备基本的构建Java项目的能力,下一篇我们来走一个SpringBoot项目构建发布的流程