Storeの管理

パッケージ

他のサービスと同様に、このAPIは80番ポートをexposeされたDockerイメージを提供しています。

$ docker run -d -p 7000:80 screwdrivercd/store:stable
$ open http://localhost:7000

このDockerイメージはそのバージョン(例: 1.2.3) や動的なlateststableでタグ付けされています。特に理由がなければstableまたは固定のバージョンタグを利用してください。

設定

Screwdriverはほとんどの設定がデフォルトとして設定されていますが、これらはconfig/local.yamlや環境変数を利用して上書きすることができます。利用可能な環境変数はこちらで定義されています。

認証

APIから渡されるJWTのバリデーションについて設定します。

キー デフォルト 説明
SECRET_JWT_PUBLIC_KEY なし JWTの署名を検証するために使用される公開鍵。APIと同じものを設定します。
# config/local.yaml
auth:
    jwtPublicKey: |
        PUBLIC KEY HERE

配信

サービスがどのようにトラフィックを受け付けるかを設定します。

キー デフォルト 説明
PORT 80 listenするポート
HOST 0.0.0.0 listenするホスト(そのマシン上からの接続だけを受け付けるときだけlocalhostに設定)
URI http://localhost:80 外部から接続可能なURI (通常はロードバランサーやCNAME)
HTTPD_TLS false SSLサポートの有無です。有効にする場合はfalsetls.createServerに渡すJSONオブジェクトに置き換えてください。
# config/local.yaml
httpd:
    port: 443
    host: 0.0.0.0
    uri: https://localhost
    tls:
        key: |
            PRIVATE KEY HERE
        cert: |
            YOUR CERT HERE

ビルドアーティファクト

ビルドアーティファクトの保存についての設定です。

キー デフォルト 説明
BUILDS_EXPIRE_TIME 1814400000 (3週間) ビルドログが保存される期間
BUILDS_MAX_BYTES 1073741824 (1GB) ビルドアーティファクトへのアップロード上限サイズ
# config/local.yaml
builds:
    expiresInSec: 1814400000 # 3 weeks
    maxByteSize: 1073741824 # 1GB

ストレージ

現在、アーティファクトの保存には次の2つの方法があります。memory - インメモリストア(非効率・非永続)、 s3 - Amazon S3

キー デフォルト 説明
STRATEGY memory アーティファクトを保存する方法(memoryまたはs3)
S3_ACCESS_KEY_ID なし Amazonアクセスキー
S3_ACCESS_KEY_SECRET なし Amazonシークレットアクセスキー
S3_REGION なし Amazon S3 のリージョン
S3_BUCKET なし 書き込みアクセスを行うAmazon S3 のバケット
S3_ENDPOINT なし Amazon S3と互換性のある独自のエンドポイント
S3_DEFAULT_ACL public-read S3 のバケットにオブジェクトを保存する時のデフォルトのACL
# config/local.yaml
strategy:
    plugin: memory
    s3:
        accessKeyId: YOUR-KEY-ID
        secretAccessKey: YOUR-KEY-SECRET
        region: YOUR-REGION
        bucket: YOUR-BUCKET-ID
        endpoint: YOUR-S3-API-URL