• Gandalf
    • Gandalf
    • 增加仓库
      • 安装
      • 使用Gandalf来配置tsuru:
      • 为使用tsuru API认证的Token

    Gandalf

    Gandalf

    tsuru可以选择性地使用Gandalf来管理Git仓库,用户可以推送到应用到这些仓库。Gandalf也有责任来这些仓库设置hooks,这样当有新的部署时,会通知tsuru API。更多信息可以参考Gandalf Documentation。

    这个文档关注于如何安装Gandalf和设置必要的hook来通知tsuru API。

    增加仓库

    为tsuru增加包含Gandalf包的仓库:

    1. sudo apt-get update
    2. sudo apt-get install curl python-software-properties
    3. sudo apt-add-repository ppa:tsuru/ppa -y
    4. sudo apt-get update

    安装

    1. sudo apt-get install gandalf-server

    在git push过程中,执行部署。为了让它工作,你需要增加一个pre-receive hook。tsuru和pre-receive hook都需要更多的配置:

    - s3cmd:使用Amazon S3来存储和服务归档- archive-server:使用tsuru的archive-server来存储和服务归档- swift:使用Swift来存储和服务归档(与Rackspace Cloud Files兼容)

    在这个文档中,我们会使用archive-server,但是你可以使用任何能存储git归档的东西,并通过HTTP或者FTP来提供服务。你也可以使用apt-get来安装archive-server:

    1. sudo apt-get install archive-server

    你需要配置Gandalf,安装pre-receive hook,设置合适的环境变量,然后启动Gandalf和archive-server。请注意你应该使用你的machine public地址替代值<your-machine-addr> :

    1. sudo mkdir -p /home/git/bare-template/hooks
    2. sudo curl https://raw.githubusercontent.com/tsuru/tsuru/master/misc/git-hooks/pre-receive.archive-server -o /home/git/bare-template/hooks/pre-receive
    3. sudo chmod +x /home/git/bare-template/hooks/pre-receive
    4. sudo chown -R git:git /home/git/bare-template
    5. cat | sudo tee -a /home/git/.bash_profile <<EOF
    6. export ARCHIVE_SERVER_READ=http://<your-machine-addr>:3232 ARCHIVE_SERVER_WRITE=http://127.0.0.1:3131
    7. EOF

    在/etc/gandalf.conf文件中,从"template: /home/git/bare-template"中移除注释,看起来是这样的:

    1. git:
    2. bare:
    3. location: /var/lib/gandalf/repositories
    4. template: /home/git/bare-template

    你应该启动gandalf和archive-server:

    1. sudo start gandalf-server
    2. sudo start archive-server

    使用Gandalf来配置tsuru:

    为了使用Gandalf,你应该相应地修改tsuru.conf:

    • 定义repo-manager来使用gandalf;
    • 定义“git api-server”来指向到Gandalf服务端的API(example: "http://localhost:8000")
      查看更多细节,请参考“configuration page“。

    为使用tsuru API认证的Token

    这是配置Gandalf的最后一步。它涉及到生成接入token,这样我们创建的hook可以加入到tsuru API。这必须在安装了tsuru API之后再做。在”installation step“文档中详述。

    原文: http://doc.oschina.net/tsuru-paas?t=52792