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

Deadly 提交于 2020-11-22 16:04:19
备注:
     需要进行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/
 
 
 
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!