Dokku和Bitbucket CI / CD

时间:2020-08-07 06:23:35

标签: bitbucket continuous-deployment bitbucket-pipelines dokku

有简单的收据,如何将bitbucket管道与dokku集成在一起? 我要在提交主服务器后继续部署到生产服务器

1 个答案:

答案 0 :(得分:1)

必要的步骤可以归结为:

  • 启用管道。
  • 为管道脚本和add it to dokku生成SSH密钥。
  • 将dokku主机添加为管道中的已知主机。
  • 如果您使用的是私有依赖项,还可以将bitbucket.org添加为已知主机。
  • 定义环境变量DOKKU_REMOTE_URL。
  • 使用bitbucket-pipelines.yml文件(请参见下面的示例)。

简单的方法是直接从应用程序的根文件夹进行管理。 创建一个bitbucket-pipelines.yml文件,在其中输入以下内容:

image: node:8.9.4

pipelines:
  default:
    - step:
        caches:
          - node
        script:
          # Add SSH keys for private dependencies
          - mkdir -p ~/.ssh
          - echo $SSH_KEY | base64 -d > ~/.ssh/id_rsa
          - chmod 600 ~/.ssh/id_rsa

          # Install and run checks
          - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.3.2
          - export PATH=$HOME/.yarn/bin:$PATH
          - yarn install # Build is triggered from the postinstall hook

  branches:
    master:
      - step:
          script:
            # Add SSH keys for deployment
            - mkdir -p ~/.ssh
            - echo $SSH_KEY | base64 -d > ~/.ssh/id_rsa
            - chmod 600 ~/.ssh/id_rsa

            # Deploy to hosting
            - git remote add dokku $DOKKU_REMOTE_URL
            - git push dokku master

记住dokku负责npm install,所以我们要做的就是设置docker实例(在bitbucket中运行)以部署到dokku。

不过请注意image: node:8.9.4,因为通常最好使用您在节点中使用的确切版本的节点(或任何一种语言)来实施映像。应用。

第2-4步只是摆弄Bitbuckets存储库设置->管道-> SSH密钥中的设置,您将在其中生成SSH密钥,并将其添加到dokku安装中。 对于已知的主机,您要输入托管dokku安装服务器的IP地址(或域名),然后按fetch,然后按添加主机。

请参见以下示例应用程序:https://github.com/amannn/dokku-node-hello-world#continuous-deployment-from-bitbucket