登录        注册
本站基于Django开发,源码 Github 欢迎 Fork、Star。由于站点升级导致评论区留言信息丢失,欢迎前来发表新的评论

Jenkins 安装使用GitHub构建项目

Jenkins stormsha 9159浏览 8喜欢 0评论

Jenkins常用的功能是项目构建,一般项目构建都需要配合版本控制平台,我使用的版本控制平台是 GitHub 。构建项目的第一步便是从版本控制。平台拉取项目代码到 Jenkins 服务器。今天是Nuxt.js项目动工的第一天,2020年01月01日,一般我做一个项目的第一步就是搭建项目开发流水线,以个人业余项目开发的经验来看。即使再简单的一个业余项目,也要走完整的流程。这样做有如下几点好处:

  • 熟练掌握项目开发的整体流程(知识是永远学不完的,掌握项目开发整体流程和关键点才是重中之重)
  • 避免学习变为自娱自乐,学的的东西立马转化为成果才不至于中途放弃
  • 有完整的项目开发流水线,不至于由于开发周期太久失去版本控制而成为烂尾项目
  • 等等

Jenkins + GitHub 实现项目自动化构建项目,基本构建配置篇

准备工作

Jenkins 要从 GitHub 拉取代码必须安装相关插件,在 Jenkins 的插件管理中搜索下载。Jenkins容器化篇 建议给Jenkins添加国内安装镜像。因为大多情况下安装一个插件时会安装很多依赖插件,国外镜像可能出现长长的安装列表结果一般安装失败的尴尬场景。切记都是踩过的坑。如果安装失败可以重新安装,实在不行,可以根据安装失败的插件名称从 Jenkins插件库 下载到本地上传插件包安装(插件管理->高级->上传->提交->完成),插件安装完成 重启Jenkins 才能生效。

安装 GitHub 插件

GitHub插件是连接 GitHub 的基本插件,Jenkins管理界面-->插件管理-->可选插件-->搜索GitHub-->选择GitHub-->安装-->完成

安装 Git Parameter

GitHub 插件已经实现了连接 GitHub和基本的选择分支参数,但是分支参数没有限制,无法做到根据实际的分支和 Tag 名称去选择,这里选择使用更加便捷的 Git Parameter 分支管理插件,Git Parameter 可以实现在拉取 GitHub 的代码的时候选择分支和 Tag 并通过参数的形式传入到拉取过程中。安装过程同上,搜索 Git Parameter

添加凭据

进入 Jenkins 的凭据管理中,添加一个全局凭据

方式一:

添加的信息如下:

20200101151256GitHub 凭证

私钥即是我们在使用 Git + Github 时配置的公钥和私钥推荐:密钥生成,那么我们拉取远程库代码就需要配置私钥

密钥一般去电脑用户目录下找.ssh文件下的id_rsa文件

GitHub密钥

方式二:

用户名+密码

配置 GitHub 任务

准备工作完成之后,可以开始创建一个 GitHub 任务。

基本配置

添加一个 github 项目:

基本配置:

基本配置

设置分支配置:

分支参数

这个分支信息设置最终会在构建任务的时候形成一个可选参数,选项就是当前项目的所有分支和 Tag。

项目配置

项目配置中主要需要添加项目地址,添加用户凭证,然后配置分支参数:

项目配置

其他配置

构建触发器里面关于构建频率的设置这里就不涉及,这个要看自己的需要去设置出发的时间。

执行命令里面作为测试,由于我是 Linux 服务器构建,所以选择 shell 命令,可以输入一个最简单命令,来查看一下项目拉取之后当前目录的信息,看看是否满足需求:

ls -l

执行命令

构建完成可以查看一下构建的过程日志:

构建过程日志

阿里云自动构建

前段时间意外发现阿里云不仅提供了免费的容器镜像仓库,而且还可以设置自动化构建,现在就分享一下设置的方式。

阿里云的镜像控制台地址是:https://cr.console.aliyun.com/cn-shenzhen/instances/source

绑定 GitHub 账号

类比上面配置 Jenkins 的步骤,这里第一个步骤也先配置一下 GitHub 账号的绑定,选择添加账号的时候会跳转到 GitHub 的授权页面,授权一下就行了。

aliyun

创建镜像仓库

首先需要创建一个命名空间:

空间

有了命名空间之后才可以创建一个仓库,可以选择仓库是否公开,如果选择公开,则任何人都可以拉取,如果不公开,那么要拉取需要登陆才行:

仓库

配置构建规则

创建了镜像仓库之后可以进入仓库的管理中,然后选择构建,构建自动触发构建:

构建

可以添加多个构建规则,比如我添加了一个从 dev 的分支构建的镜像,Tag 设置为 v1,表示需要测试的镜像,然后设置从 master 构建的 Tag 设置为正式版本。

配置规则

构建的过程中可以查看构建日志,查看构建的镜像层级,构建完成之后可以去镜像版本中查看存在的镜像版本。

总结:使用容器化部署必然会使用到镜像构建,而镜像构建这个过程最好不要跟部署过程放到一起来做,而是应该提前完成并保存起来,而无论是 Jenkins 还是阿里云提供的构建平台,都能很方便的让我们做到这一点。

涉及插件:

  • GitHub: https://plugins.jenkins.io/github
  • Git Parameter: https://plugins.jenkins.io/git-parameter

参考文章:https://tendcode.com/article/jenkins_link_github/

转载请注明: StormSha » Jenkins 安装使用GitHub构建项目

发表我的评论

表情
(0)个小伙伴在吐槽|0条评论
暂时没有评论,欢迎来尬聊!