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. 效果
 
构建部署截图:
drone 学习六 发布部署&&集成私有容器仓库&&构建代码s3 保存_第1张图片
drone 学习六 发布部署&&集成私有容器仓库&&构建代码s3 保存_第2张图片
drone 学习六 发布部署&&集成私有容器仓库&&构建代码s3 保存_第3张图片
drone 学习六 发布部署&&集成私有容器仓库&&构建代码s3 保存_第4张图片
drone 学习六 发布部署&&集成私有容器仓库&&构建代码s3 保存_第5张图片
drone 学习六 发布部署&&集成私有容器仓库&&构建代码s3 保存_第6张图片
 
s3 直接浏览器访问构建的html 页面(遗憾实际上没有编译,就是一个静态页面,实际使用,可以集成nginx 做cache 以及加速)
注意:需要设置这个bucket 的权限为 public  界面操作为  *  read && write
drone 学习六 发布部署&&集成私有容器仓库&&构建代码s3 保存_第7张图片
 
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 保存)