drone 发布部署&&集成私有容器仓库&&构建代码s3 保存

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了drone 发布部署&&集成私有容器仓库&&构建代码s3 保存相关的知识,希望对你有一定的参考价值。

备注:
     需要进行drone 以及gitlab 环境的配置,可以参考相关资料
 
1. 参考项目
https://github.com/rongfengliang/drone-appdemo
   
2. drone 构建配置(使用docker && s3 插件)
pipeline:
  backend:
    image: golang
    commands:
      - go build
      - go test
      - ls  .
  frontend:
    image: node:6
    commands:
      - npm install
      - npm test
  docker:
    group: deploy
    image: plugins/docker
    registry: youprivatedockerregistry # i use harbor
    repo: youprivatedockerregistry/droneci/drone-demoapp
    dockerfile: Dockerfile
    username: dockerpush #   harbor username
    password: Dockerpushpassword  # harbor userpassword

  s3push:
    group: deploy
    image: plugins/s3
    bucket: droneproject
    source: ./**
    access_key: access_key
    secret_key: secret_key
    target: /drone-appdemo
    region: us-west-1
    path_style: true
    endpoint: you minio address # my minio address 

说明:
   比较简单,主要是私有harbor 以及minio 的配置
   
minio 的搭建可以参考:
https://github.com/rongfengliang/mino-thumbor-openresty  
项目尽管有点负复杂,但是使用docker-compose 直接就可以起来,比较简单,实际上项目可能需要类似的方案
比如进行发布直接使用minio会是一个比较好的方案,项目中已经集成了这个功能了。
3. 效果
 
构建部署截图:
 
s3 直接浏览器访问构建的html 页面(遗憾实际上没有编译,就是一个静态页面,实际使用,可以集成nginx 做cache 以及加速)
注意:需要设置这个bucket 的权限为 public  界面操作为  *  read && write
 
4. 说明
参考例子比较简单,实际上大家可以基于这个进行扩展,实现比较强大的功能(缩略图,h2 加速),租户分离。。。。。
5. 参考资料
https://github.com/rongfengliang/drone-appdemo
https://github.com/rongfengliang/mino-thumbor-openresty 
http://plugins.drone.io/drone-plugins/drone-docker/
http://plugins.drone.io/drone-plugins/drone-s3/

以上是关于drone 发布部署&&集成私有容器仓库&&构建代码s3 保存的主要内容,如果未能解决你的问题,请参考以下文章

使用GitLab+Drone CI持续集成自动部署web项目,图文详细

使用gogs,drone搭建自动部署

Drone-使用缓存插件优化构建速度

Gogs+Drone实现自动化部署

使用Drone+gitea配置自己的CICD流程

Docker部署私有仓库(registry&Harbor)