Jenkins学习笔记(一)

一、Jenkins基础

jenkins是一款非常优秀的CI工具。但是我们如何去安装jenkins?这里我们学习一下。

首先是下载,您可以下载您需要的环境的版本。因为jenkins是java编写的,所以我们直接下载war包的形式比较好。https://www.jenkins.io/download/

启动jenkins

java -jar jenkins.war

在浏览器中输入localhost:8080/,在弹出的页面中会让你输入安装的密码,之后进入安装页面。因为jenkins有很多插件,如果没有插件那么jenkins什么事都干不了。所以安装插件很重要,如果是离线安装,比如在测试服务器上安装。您可以直接跳过,如果需要安装插件,您就需要去下载,然后再插件的高级选项卡中,然后提交插件。但这么干的效果不是很好,因为一个插件有其他的依赖,而且插件的版本还要控制好。作者在离线安装就已经特别的痛苦了。所以这里主要写一下,在线安装,后期再研究离线安装的方法。

我们选择默认推荐的插件,这些插件包括我们基本常用的组件。这些组件基本可以满足我们的使用。

但是在开发中,我个人比较喜欢使用事件去触发,比如当我将代码提交gitea、gitlab的时候就发送一个请求到jenkins,然后jenkins进行打包并发布。所以我还喜欢安装generic webhook trigger plugin这个组件。除此之外,我之前看到一些架构师喜欢装buil monitor view,该组件提供了对在构建的项目的监控功能,如果构建成功则显示蓝色,否则标记为红色。

安装好这些插件之后,我们在对jenkins进行一些配置,我们说过jenkins是java编写的,所以jenkins的配置肯定离不了jdk,当然对于当下maven和git的配置也不可或缺。这些都是当下java项目的必备。

在全局工具中配置一些基础的环境,mavn、jdk、git等

安装好之后,你也可以新建用户

或者开启用户自动注册的功能

您可以像我一样,先创建一个流水线项目,然后将该项目添加到build monitor plugin的视图中。

这样,项目开发人员就可以通过监控大屏的视图来看到项目发布是否健康的状态。

至此,jenkins的安装就已经完毕了。在线安装就是这么简单。


二、Jenkins流水线

接下来,我们主要实现一个流水线,在之前的jenkins老版本中,需要手动配置好多,填写好多属性。在jenkins2.x中,jenkins提供了jenkinsfile,使得我们可以直接像写代码一样在jenkinsfile中加入逻辑去设计我们的流水线。这个特性就非常好了。那么我们怎么实现一个简单的流水线?我们的期望是通过代码提交来触发jenkins自动构建。

首先我们要明确的是我们的项目是git仓库中,所以需要在jenkins中配置项目的地址。对于pipline代码的文件名称,我们采用默认的jenkinsfile。

然后我们我们的项目中添加jenkins流水线的代码文件Jenkinsfile,该文件与pom.xml平齐。下边贴一点流水线脚本,如果要详细的学习,您可以上jenkins中文网站。

pipeline {
    agent any
    triggers{
      GenericTrigger(
      token:'app-server'
      )
    }
    stages {
        stage('Build') {
            steps {


                echo '1.start build.....'
                bat 'mvn clean -Dmaven.test.skip=true package'
                echo 'end build'
                bat 'cd target\n dir \n XCOPY *.war D:\\pipline-test /y'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing..'
            }
        }
    }
}


之后,我们点击立即构建,就会出现下面这样的场景,这说明jenkins已经按照我们的想法进行构建了。

通过上述代码的jenkinsfile的执行,我们的war包已经打出来并放到了D:pipline-test目录下:

至此,一个简易的jenkins流水线已经搭建完毕了。现在还有一个问题,我们如何让我们的jenkins在我们将代码提交的gitlab中的时候就触发构建的问题。除此之外还有远程免密文件复制和执行的代码。我们逐步来探索一下。


三、使用generic webhook trigger来触发jenkins构建

要实现这样的一个构建,那么必须要一个发起的事件,我们push代码是因素,是要被gitlab或者gitea在或者是github来识别的。所以说git仓库平台是重点,当然jenkins识别这样一个请求(get、post等http请求),肯定格式已经写死了,所以我们只需要将jenkins的格式贴到git代码平台上即可。

根据generic webhook trigger的规范,我们只需在token中填入我们在pipline流水线脚本中的token即可触发与该token相同的流水线进行构建活动。

那么我就去我们的gitlab平台,将这一串请求贴到相应的事件监听器中即可。注意这里的jenkins不再是127.0.0.1了哦,除非您所有的测试项目都在本地安装!

http://192.168.21.119:8080/generic-webhook-trigger/invoke?token=app-server

然后我们测试一下,果然发生了构建活动,此刻是否感到挺好玩的哈!


跨机器传输应用并部署,下期再说!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到Docker学习笔记时,我可以为你提供一些基本的指导和主题,以帮助你开始学习Docker。以下是一些可能涵盖的主题: 1. Docker简介:了解Docker的基本概念、优势以及它如何与虚拟化技术不同。 2. Docker安装:学习如何在不同的操作系统上安装Docker,并熟悉Docker引擎的组成部分。 3. Docker镜像:了解Docker镜像的概念,以及如何通过构建、拉取和推送镜像来管理和共享容器环境。 4. Docker容器:学习如何创建、启动、停止和删除容器,并了解容器和主机之间的交互方式。 5. Docker网络:探索Docker网络模式,包括桥接网络、主机网络和覆盖网络,并理解容器之间以及容器与主机之间的通信方式。 6. Docker存储:了解Docker存储技术,包括数据卷和绑定挂载,并学习如何在容器中持久化数据。 7. Docker Compose:介绍Docker Compose工具,它可以用于定义和运行多个容器的应用程序。 8. Docker Swarm:探索Docker Swarm,它是Docker官方的容器编排和集群管理工具,于在多个主机上部署和管理容器应用。 9. Docker和持续集成/持续部署(CI/CD):了解如何将Docker与CI/CD工具(如Jenkins、GitLab CI等)集成,以简化应用程序的构建和部署过程。 这只是一些可能的主题,你可以根据自己的需求和兴趣来选择学习内容。希望这些指导可以帮助你开始学习Docker!如果你有任何特定的问题,我很乐意回答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值