在Jenkins持续集成方案中使用阿里云OSS作为Artifacts仓库

发布于 2015年01月20日

作者:阮志敏

建立统一的artifacts仓库是持续部署的前提。目前,建立artifacts仓库大致有如下三种选择:

  • FTP服务器:最传统的方式。
  • 专业的Artifacts存储仓库:比如Nexus, Artifactory等。
  • 对象存储服务:比如阿里云OSS,AWS S3等。

如果用户的应用系统全部部署在阿里云中,那么可以考虑使用阿里云OSS来建立artifacts仓库。使用阿里云OSS来建立artifacts仓库有两个好处:一是仓库的可靠性、高可用性由阿里云OSS来保证;二是上传、下载Artifact速度快。

Jenkins是当前最常用的CI服务器,为此,FIT2CLOUD实现了Aliyun-OSS-Plugin for Jenkins并开源该插件。简单来说,这个Jenkins插件的功能就是将构建后的artifacts上传到OSS的指定位置上去。

一、安装说明

  1. 下载插件:地址
  2. 安装插件: 打开Jenkins首页,进入【系统管理】->【插件管理】->【高级】->【上传插件】页面,上传hpi文件 安装完毕后需要重新启动Jenkins。安装成功后,在已经安装插件列表中会显示,如下图:
阿里云OSS Jenkins插件

二、使用说明

  1. 配置阿里云OSS帐号:在【系统管理】->【系统配置】->【阿里云OSS账户设置】中配置阿里云帐号的Access Key和Secret Key。如下图:
阿里云OSS帐号设置
  1. 在对应Project的Post-build actions下面选择【上传Artifact到阿里云OSS】。需要填写的信息有:
    • Bucket名称: 阿里云OSS Bucket名称
    • 要上传的artifacts:文件之间用;隔开。支持通配符描述,比如text/*.zip。
    • Object前缀设置:设置key的前缀,可使用环境变量,如${JOB_NAME}/${BUILD_NUMBER}/
Job设置

假设一个job的名称是test,用户的设置如下:

  * Bucket名称: f2c
  * 要上传的artifacts:hello.txt
  * Object前缀: ${JOB_NAME}/${BUILD_ID}/${BUILD_NUMBER}

那么上传后的文件url为: http://f2c.oss-cn-hangzhou.aliyuncs.com/test/2015-01-20_14-22-46/5/hello.txt

插件工作时会输出类似下面的日志:

Job构建日志

三、二次开发说明

你可以基于这个插件进行二次开发,增加新的功能,比如在Build Action中从阿里云OSS下载指定文件等。如果希望进行相关二次开发,请参考该插件的GitHub地址:https://github.com/fit2cloud/aliyun-oss-plugin

如果有疑问,请联系support@fit2cloud.com