Githubは、好みのCI/CDツールでホストされた自動化された安全な継続的インテグレーションと継続的デリバリー(CI/CD)パイプラインをトリガーするために使用できるWebhookを設定する機能を提供している。 ワークフロー・プロジェクトの新しいスナップショットが作成されると、プロジェクトのファイル記述子(JSON形式)を設定されたGitリポジトリにプッシュすることで、Github webhookをトリガーすることができます。
開始前に
ネットワークポリシーを使用して外部アクセスを開くことで、設定されたGithubエンドポイントに環境がアクセスできることを確認します。
手順
ワークフロー・バージョンのプロジェクト記述子ファイルをGithubにプッシュするために、以下の設定を完了します。
ワークフロー・オーサリングおよびWorkflow Process Service用:
- あなたの「Gitユーザー名とアクセストークンを含む、認証エイリアス用の「custom.xml設定ファイルを作成する。
<?xml version="1.0" encoding="UTF-8"?>
<server>
<authData id="Git-J2C-Auth-Alias-Name" user="your_user_name" password="your_access_token"/>
</server>
- あなたの「custom.xmlシークレットを作成する:
kubectl create secret generic your-custom-secret-name --from-file=sensitiveCustom.xml=./custom.xml
- カスタム・リソース(CR)ファイルに以下の設定を追加します:
bastudio_configuration:
bastudio_custom_xml: |+
<properties>
<server>
<git-configuration merge="replace">
<git-endpoint-url>https://api.github.com/repos/user1/bawgitrepo</git-endpoint-url>
<git-auth-alias-name>Git-J2C-Auth-Alias-Name</git-auth-alias-name>
</git-configuration>
</server>
</properties>
custom_secret_name: your-custom-secret-name
<git-endpoint-url>
は Gitの REST URL です。 値は
"github.com"
ではなく
"api.github.com"
とすべきです。
- GitでSSLが有効になっている場合、'GitTLS証明書を'Cloud Pak for Business Automationにインポートし、CRファイルを更新する。
oc create secret generic git-ssl-secret --from-file=tls.crt=/root/gitSSL.cert
bastudio_configuration:
tls:
tlsTrustList: [git-ssl-secret]
Gitウェブサイトがよく知られた認証局(CA)で署名されている場合は、このステップは必要ありません。
- ''
shared_configuration.sc_egress_configuration.sc_restricted_internet_access
が'trueに設定されている場合、外部システムからの退出アクセスは無効となる。 ワークフロー・オーサリング・サーバーが外部のGitサーバーにアクセスできるようにするには、ワークフロー・オーサリング・サーバーがGitサーバーに接続する際にGitポートを使用することを許可するネットワーク・ポリシーを作成します。 以下のようにネットワークポリシーを適用する:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: "bas-allow-git"
spec:
podSelector:
matchLabels:
com.ibm.cp4a.networking/egress-external-app-component: 'BAS'
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: # IP address your git server.
- ports:
- protocol: TCP
port: # Port of your git server.
オペレーターが照合を終えるのを待つ。
- コンフィギュレーションの検証:
- bastudioポッドで、'
/opt/ibm/wlp/usr/servers/defaultServer/TeamWorksConfiguration.running.xml
チェックし、'<git-endpoint-url>
と'<git-auth-alias-name>
ファイルにマージされていることを確認する。
- また、'/opt/ibm/wlp/usr/shared/resources/sensitive-custom/sensitiveCustom1.xmlファイルが存在し、Gitユーザーとトークンの '<authData>が存在することも確認しましょう。