jenkins持续集成从0入门到实战【三】集成Git和Maven

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Maven是目前主流的自动化构建工具,而Git也是目前主流的分布式版本控制系统。要做Java项目的持续集成必须会集成这2个工具。

集成Git

为了jenkins能够拉取代码,需要安装Git环境和jenkins对应的Git插件

  1. CentOS 7上安装Git环境

    # 安装
    $ yum install git -y
    # 查看版本
    $ git --version
  2. jenkins安装Git插件

    image.png

  3. jenkins配置Git环境

    此处无需在jenkins中配置Git环境,采用默认生成的即可

    image.png

  4. Gitee码云对接

    • 添加凭据
      Jenkins->系统管理->系统->全局凭证->添加凭证

      image.png

      image.png

    • Gitee上任意建一个仓库

      image.png
      image.png

    • 测试凭据是否能够使用

      jenkins-》新建任务-》自由风格项目

      image.png

      image.png

      image.png

      image.png

      image.png

      image.png

      image.png

      进入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

      image.png

    • 到此用户名密码方式的凭证已经打通Git
  5. 阿里云codeup对接
  6. 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)

  1. 下载安装

    # 切换到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
  2. 环境配置

    $ vim /etc/profile
    
    在最后面JDK配置上作出一些更改
    export MAVEN_HOME=/usr/local/java/apache-maven-3.6.3
    export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
  3. 使配置生效并查看安装情况

    $ souce /etc/profile
    $ mvn -version

    image.png

  4. jenkins配置Maven

    image.png
    安装Maven插件

    image.png

  5. 使用jenkins用户在/data/software目录下新建一个repository文件夹,用来作为maven的仓库

    $ cd /data/software
    $ mkdir repository
  6. 使用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>
  7. jenkins配置settings.xml文件
  8. Maven测试项目构建

    接下来的步骤是将java项目传到Gitee上供jenkins拉取打包,如果运维同学不懂Java代码,可以直接将我的Git项目fork或采用gitlab 等其他方式进行拉取。

    • 新建Maven项目

      image.png

      image.png

      image.png

    • 在码云上建一个同名的git项目

      image.png

      image.png

      image.png

    • 使用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

      image.png

  9. jenkins添加Maven项目任务

    • 新建任务

      image.png

    • 编写描述

      image.png

    • 连接Git仓库

      image.png

    • 编写Maven编译命令

      image.png

    • 构建并查看控制台日志

      保存后,点击立即构建,然后进入日志控制台查看日志

      image.png

      从日志可以看到代码已经在拉取了,而且走的事阿里云仓库,第一次拉取过程会比较长。

      通过查看/data/software/repository可以看到有存放拉取的jar包,通过这2个证据可以证明settings.xml文件配置成功且有效

      image.png

    • 构建成功后查看jenkinsworkspace目录下的jar包

      image.png

      image.png

总结

通过对Maven和Git的集成,我们的jenkins已经具备基本的构建Java项目的能力,下一篇我们来走一个SpringBoot项目构建发布的流程

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6月前
|
XML 前端开发 Java
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
这篇文章是SpringMVC框架的入门教程,详细指导了如何在IDEA中使用Maven和Tomcat创建SpringMVC工程,包括添加依赖、配置web.xml、编写控制器、创建配置文件、配置Tomcat服务器以及进行基本的测试,展示了一个简单的Hello SpringMVC示例。
SpringMVC入门到实战------2、SpringMVC创建实例Hello SpringMVC(maven+tomcat)
|
2月前
|
Linux 开发工具 git
【Git】Git 完全指南:从入门到精通
Git 是一种强大的版本控制工具,掌握了其基本命令和高级特性后,可以大大提高开发效率并方便团队协作。通过本篇文章,你已经学会了 Git 的核心命令及其使用方法,希望你能够灵活运用 Git 在实际项目中进行版本管理。
264 4
|
25天前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
6月前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
2月前
|
存储 Java Linux
【Maven】——基础入门,插件安装、配置和简单使用,Maven如何设置国内源
Maven插件安装,Maven项目构建,依赖管理,Haven Help插件,Maven仓库,Maven如何设置国内源
|
2月前
|
移动开发 jenkins 持续交付
jenkins配置git
通过上述步骤,您可以在 Jenkins 中成功配置 Git,从而实现自动拉取代码并进行构建和部署。这些配置不仅提高了开发效率,还保证了代码的连续集成和交付。确保每一步配置正确,以避免在实际使用中遇到问题。
118 1
|
2月前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
57 3
|
3月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
75 1
[Git]入门及其常用命令
|
4月前
|
Linux 开发工具 git
企业级Git管理工作流分析--GIT实战详解
企业级Git管理工作流分析--GIT实战详解
68 0
|
5月前
|
监控 Devops 测试技术
DevOps实践: 持续集成和持续部署(CI/CD)的入门指南
【9月更文挑战第10天】在快速迭代的软件开发世界中,DevOps已经成为加速产品交付、提升软件质量和团队协作的关键策略。本文将深入浅出地介绍DevOps的核心组成部分——持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD)的基本概念、实施步骤以及它们如何革新传统的软件开发流程。你将学习到如何通过自动化工具简化开发流程,并理解为什么CI/CD是现代软件开发不可或缺的一环。

推荐镜像

更多