kind: pipeline type: docker name: build volumes: #Docker环境 - name: docker host: path: /var/run/docker.sock - name: config host: path: /root/.docker/config.json trigger: branch: - main - master steps: - name: 编译文件 image: node:18-alpine pull: if-not-exists # always never commands: - node -v - npm -v - npm install - npm run build - name: 构建镜像并推送 image: plugins/docker pull: if-not-exists # always never environment: DRONE_REPO_BRANCH: master # 默认会master分支 settings: registry: registry.chuckchen.top # 需要推送的Docker私服服务器地址 repo: registry.chuckchen.top/chuck-nav #需要打包的镜像名称 use_cache: true username: # 私服登录用户名 from_secret: docker_username password: # 私服登录密码 from_secret: docker_password auto_tag: true # 自动打tag # 也可以用下面这个手动指定 # tags: # - latest # - 0.0.1 - name: 部署 # 利用docker-compose部署,项目跟路径需要docker-compose.yml配置文件 image: docker/compose volumes: - name: docker path: /var/run/docker.sock # 利用宿主机docker - name: config path: /root/.docker/config.json # 可以认证私有仓库 environment: OPENAI_API_KEY: from_secret: OPENAI_API_KEY commands: - docker-compose down --rmi all - docker-compose pull - docker-compose up -d