Open kirin-ri opened 1 year ago
def polling_task():
max_attempts = 90
poll_interval = 10
previous_count = -1
for attempt in range(1,max_attempts+1):
try:
record_count = get_record_count()
if record_count == previous_count:
break
previous_count=record_count
time.sleep(poll_interval)
if attempt == max_attempts:
print("timeout")
message = "タイムアウトエラー"
description = "タイムアウトしました。"
useaction = "本画面のスクリーンショットを取得し、サポートへお問い合わせください。"
endDate = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
obj = SnowflakeAccessor(warehouse=SNOW_WH,
database=SNOW_DB,
schema=SNOW_SCHEMA)
error = "error"
error_query = f'''
UPDATE
JOB_STATUS_INFO
SET
ENDDATE=convert_timezone('Asia/Tokyo', '{endDate}'),
STATUS='{error}',
MESSAGE='{message}',
DESCRIPTION= '{description}',
USERACTION='{useraction}'
WHERE
ID = '{job_id}'
;
'''
obj.execute(error_query)
obj.close()
for attempt in range(1,max_attempts+1):
try:
record_count = get_record_count()
if record_count == previous_count:
endDate = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
status = "finished"
phasedesc = "処理終了"
obj = SnowflakeAccessor(warehouse=SNOW_WH,
database=SNOW_DB,
schema=SNOW_SCHEMA)
complete_query = f'''
UPDATE
JOB_STATUS_INFO
SET
PHASEDESC=' {phasedesc}',
ENDDATE=convert_timezone('Asia/Tokyo', '{endDate}'),
STATUS='{status}'
WHERE
ID = '{job_id}'
;
'''
obj.execute(complete_query)
obj.close()
previous_count=record_count
time.sleep(poll_interval)
if attempt == max_attempts:
print("timeout")
message = "タイムアウトエラー"
description = "タイムアウトしました。"
useaction = "本画面のスクリーンショットを取得し、サポートへお問い合わせください。"
endDate = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
obj = SnowflakeAccessor(warehouse=SNOW_WH,
database=SNOW_DB,
schema=SNOW_SCHEMA)
error = "error"
error_query = f'''
UPDATE
JOB_STATUS_INFO
SET
ENDDATE=convert_timezone('Asia/Tokyo', '{endDate}'),
STATUS='{error}',
MESSAGE='{message}',
DESCRIPTION= '{description}',
USERACTION='{useraction}'
WHERE
ID = '{job_id}'
;
'''
obj.execute(error_query)
obj.close()
execution_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
status = "running"
insert_start_query = f"""
INSERT INTO JOB_STATUS_INFO (
ID,TYPE,NAME,CURRPHASE,TOTALPHASE,EXECDATE,STATUS
)
SELECT
'{job_id}',
'{job_type}',
'{process_name}',
'{current_phase}',
'{total_phases}',
convert_timezone('Asia/Tokyo', '{execution_date}'),
'{status}'
;
"""
obj.execute(insert_start_query)
UnboundLocalError: local variable 'i4sf' referenced before assignment
pipeline {
agent any
environment {
DOCKER_IMAGE = 'your_image_name'
ACR_REGISTRY = 'your_acr_registry'
KUBE_NAMESPACE = 'your_kubernetes_namespace'
KUBE_DEPLOYMENT_NAME = 'your_deployment_name'
}
stages {
stage('Build Docker Image') {
steps {
script {
def gitTag = sh(returnStdout: true, script: 'git describe --tags --always').trim()
sh "docker build -t ${ACR_REGISTRY}/${DOCKER_IMAGE}:${gitTag} ."
}
}
}
stage('Push Docker Image to ACR') {
steps {
script {
def gitTag = sh(returnStdout: true, script: 'git describe --tags --always').trim()
sh "docker push ${ACR_REGISTRY}/${DOCKER_IMAGE}:${gitTag}"
}
}
}
stage('Deploy to AKS') {
steps {
script {
def gitTag = sh(returnStdout: true, script: 'git describe --tags --always').trim()
sh("kubectl set image deployment/${KUBE_DEPLOYMENT_NAME} ${DOCKER_IMAGE}=${ACR_REGISTRY}/${DOCKER_IMAGE}:${gitTag} -n ${KUBE_NAMESPACE}")
}
}
}
}
}
pipeline {
agent any
environment {
APP_NAME = 'catalog-web-app'
ACR_LOGINSERVER = 'your_acr_login_server'
CREDENTIALS = credentials('acr-credentials')
}
stages {
stage('Build') {
steps {
dir("${env.WORKSPACE}") {
script {
def gitTag = sh(returnStdout: true, script: 'git describe --tags --always').trim()
env.WEB_IMAGE_NAME = "${ACR_LOGINSERVER}/${APP_NAME}:${gitTag}"
sh '''
docker build -t "${WEB_IMAGE_NAME}" .
'''
}
}
}
}
stage('Push') {
steps {
dir("${env.WORKSPACE}") {
script {
sh '''
docker login "${ACR_LOGINSERVER}" -u "${CREDENTIALS_USR}" -p "${CREDENTIALS_PSW}"
docker push "${WEB_IMAGE_NAME}"
'''
}
}
}
}
stage('Apply') {
steps {
dir("${env.WORKSPACE}") {
sh '''
# Update kubernetes deployment with new image.
DEPLOYMENTS=`kubectl get deployment | grep "${APP_NAME} " | awk '{{print $1}}'`
for deployment in ${DEPLOYMENTS};
do
kubectl set image deployment/${deployment} ${deployment}=${WEB_IMAGE_NAME}
done
'''
}
}
}
}
}
pipeline {
agent any
environment {
APP_NAME = 'catalog-web-app'
CREDENTIALS = credentials('acr-credentials')
}
stages {
stage('Build') {
steps {
dir("${env.WORKSPACE}") {
script {
// gitのタグを取得
def gitTag = sh(returnStdout: true, script: 'git describe --tags --always').trim()
// タグを使ってイメージ名を決定
def WEB_IMAGE_NAME = "${ACR_LOGINSERVER}/${APP_NAME}:${gitTag}"
// Dockerイメージをビルド
sh "docker build -t ${WEB_IMAGE_NAME} ."
// 以降のステージでも利用できるように環境変数に設定
env.WEB_IMAGE_NAME = WEB_IMAGE_NAME
}
}
}
}
stage('Push') {
steps {
dir("${env.WORKSPACE}") {
sh """
docker login "${ACR_LOGINSERVER}" -u "${CREDENTIALS_USR}" -p "${CREDENTIALS_PSW}"
docker push "${WEB_IMAGE_NAME}"
"""
}
}
}
stage('Apply') {
steps {
dir("${env.WORKSPACE}") {
sh """
# Kubernetesデプロイメントを新しいイメージで更新
DEPLOYMENTS=\$(kubectl get deployment | grep "${APP_NAME} " | awk '{{print \$1}}')
for deployment in \${DEPLOYMENTS};
do
kubectl set image deployment/\${deployment} \${deployment}=${env.WEB_IMAGE_NAME}
done
"""
}
}
}
stage('Tagベースのルーティング') {
when {
expression {
// gitTagが'dev/A社/'で始まるかチェックします(他の条件に合わせて修正してください)
return env.gitTag.startsWith('dev/A社/')
}
}
steps {
echo "タグ: ${env.gitTag}に基づいてA社のジョブをトリガーします。"
// 'A社のジョブ'の部分を、該当するタグに対応するジョブ名に修正してください。
build job: 'A社のジョブ', parameters: [string(name: 'TAG_NAME', value: env.gitTag)]
}
}
// 他のタグに対応するルーティングのために、必要ならば追加の'stage'ブロックを作成してください。
}
}
pipeline {
agent any
environment {
APP_NAME = 'catalog-web-app'
CREDENTIALS = credentials('acr-credentials')
}
stages {
stage('Build') {
steps {
dir("${env.WORKSPACE}") {
script {
// gitのタグを取得
def gitTag = sh(returnStdout: true, script: 'git describe --tags --always').trim()
// タグを使ってイメージ名を決定
def WEB_IMAGE_NAME = "${ACR_LOGINSERVER}/${APP_NAME}:${gitTag}"
// Dockerイメージをビルド
sh "docker build -t ${WEB_IMAGE_NAME} ."
// 以降のステージでも利用できるように環境変数に設定
env.WEB_IMAGE_NAME = WEB_IMAGE_NAME
}
}
}
}
stage('Apply') {
steps {
dir("${env.WORKSPACE}") {
sh """
# Kubernetesデプロイメントを新しいイメージで更新
DEPLOYMENTS=\$(kubectl get deployment | grep "${APP_NAME} " | awk '{{print \$1}}')
for deployment in \${DEPLOYMENTS};
do
kubectl set image deployment/\${deployment} \${deployment}=${env.WEB_IMAGE_NAME}
done
"""
}
}
}
stage('TagRouting') {
when {
expression {
// gitTagが'dev/A社/'で始まるかチェック
return env.gitTag.startsWith('dev/A社/')
}
}
steps {
build job: 'A-Catalog-AP-CD', parameters: [string(name: 'TAG_NAME', value: env.gitTag)]
}
}
// 他のタグに対応するルーティングのために、必要ならば追加の'stage'ブロックを作成してください。
}
}
invalid argument "idnaacr.azurecr.io/catalog-web-app:dev/A社/v1.1.1" for "-t, --tag" flag: invalid reference format
// 環境変数 GIT_TAG からタグの情報を取得する
def gitTag = env.GIT_TAG
if (gitTag == null || gitTag.isEmpty()) {
// タグ情報がない場合は終了
echo "タグ情報がありません。ビルドを終了します。"
return
}
// タグ情報がある場合は処理を続行
echo "タグの情報:${gitTag}"
// タグのpushを検知したらDockerイメージのビルドとリリースを行う
if (gitTag.startsWith('dev/A社/')) {
def appName = "catalog-web-app"
def imageTag = "${env.ACR_LOGINSERVER}/${appName}:${gitTag}"
// Dockerイメージのビルド
sh "docker build -t ${imageTag} ."
// ビルドしたDockerイメージをリリース
sh "docker login -u ${env.DOCKER_USERNAME} -p ${env.DOCKER_PASSWORD} ${env.ACR_LOGINSERVER}"
sh "docker push ${imageTag}"
// ここに他の処理を追加する(デプロイなど)
} else {
echo "タグの情報が無効です。ビルドを終了します。"
}
Seen 11 remote branches
git show-ref --tags -d # timeout=10 Checking out Revision 3564e8645514f4d20c27ae5e87fe5dc1ebcf3ff9 (refs/tags/dev-A社-v1.1.3, refs/tags/v2.2.2, refs/tags/dev-A社-v1.1.1, refs/tags/dev-A社-v1.1.2) git config core.sparsecheckout # timeout=10 git checkout -f 3564e8645514f4d20c27ae5e87fe5dc1ebcf3ff9 # timeout=10 Commit message: "test" git rev-list --no-walk 3564e8645514f4d20c27ae5e87fe5dc1ebcf3ff9 # timeout=10 git rev-list --no-walk 3564e8645514f4d20c27ae5e87fe5dc1ebcf3ff9 # timeout=10 [ATest-Catalog-AP-CD] $ /bin/sh -xe /tmp/jenkins5007181772433529814.sh
- def gitTag = env.GIT_TAG /tmp/jenkins5007181772433529814.sh: 2: def: not found Build step 'Execute shell' marked build as failure Finished: FAILURE
gitTag="$GIT_TAG" if [[ -z "$gitTag" ]]; then
echo "タグ情報がありません。ビルドを終了します。"
exit 1
fi
echo "タグの情報:$gitTag"
if [[ "$gitTag" == dev/A社/* ]]; then appName="catalog-web-app" imageTag="${ACR_LOGINSERVER}/${appName}:${gitTag}"
# Dockerイメージのビルド
docker build -t "$imageTag" .
# ビルドしたDockerイメージをリリース
docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" "$ACR_LOGINSERVER"
docker push "$imageTag"
# ここに他の処理を追加する(デプロイなど)
else echo "タグの情報が無効です。ビルドを終了します。" exit 1 fi
~~~
gitTag="$GIT_TAG" if [[ -z "$gitTag" ]]; then
echo "タグ情報がありません。ビルドを終了します。"
exit 1
fi
echo "タグの情報:$gitTag"
if [[ "$gitTag" == dev/A社/* ]]; then appName="catalog-web-app" imageTag="${ACR_LOGINSERVER}/${appName}:${gitTag}"
# Dockerイメージのビルド
docker build -t "$imageTag" .
# ビルドしたDockerイメージをリリース
docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" "$ACR_LOGINSERVER"
docker push "$imageTag"
# ここに他の処理を追加する(デプロイなど)
else echo "タグの情報が無効です。ビルドを終了します。" exit 1 fi
#!/bin/bash
# 環境変数 GIT_TAG からタグの情報を取得する
gitTag="$GIT_TAG"
if [[ -z "$gitTag" ]]; then
# タグ情報がない場合は終了
echo "タグ情報がありません。ビルドを終了します。"
exit 1
fi
# タグ情報がある場合は処理を続行
echo "タグの情報:$gitTag"
# タグのpushを検知したらDockerイメージのビルドとリリースを行う
if [[ "$gitTag" == dev/A社/* ]]; then
appName="catalog-web-app"
imageTag="${ACR_LOGINSERVER}/${appName}:${gitTag}"
# Dockerイメージのビルド
docker build -t "$imageTag" .
# ビルドしたDockerイメージをリリース
docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" "$ACR_LOGINSERVER"
docker push "$imageTag"
# ここに他の処理を追加する(デプロイなど)
else
echo "タグの情報が無効です。ビルドを終了します。"
exit 1
fi
Seen 11 remote branches
> git show-ref --tags -d # timeout=10
Checking out Revision 82445e4bf62f962a86958d197e0aaf0f9a1a1d6e (refs/tags/dev-A社-v2.1.1)
> git config core.sparsecheckout # timeout=10
> git checkout -f 82445e4bf62f962a86958d197e0aaf0f9a1a1d6e # timeout=10
Commit message: "fix"
First time build. Skipping changelog.
[ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins16869100277689124874.sh
タグ情報がありません。ビルドを終了します。
Build step 'Execute shell' marked build as failure
Finished: FAILURE
gitTag=$(git describe --tags --always 2>/dev/null)
[ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins1390304922393608233.sh タグの情報:dev-A社-v2.1.2 タグの情報が無効です。ビルドを終了します。 Build step 'Execute shell' marked build as failure Finished: FAILURE
appName="catalog-web-app"
imageTag="your-acr-name.azurecr.io/${appName}:$gitTag"
# ACRにログイン
az acr login --name your-acr-name
# ACR上に指定のタグのイメージが存在するか確認
if docker manifest inspect "$imageTag" > /dev/null 2>&1 ; then
# イメージが存在する場合はAKSにセット
kubectl set image deployment/$appName $appName=$imageTag
else
echo "ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。"
fi
version=$(echo "$gitTag" | cut -d "-" -f 3)
imageTag="your-acr-name.azurecr.io/${appName}:v$version"
[ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins1523305091659748263.sh タグの情報:dev-A-v2.1.5 success。 WARNING! Using --password via the CLI is insecure. Use --password-stdin. Error response from daemon: Get "https://idnaacr.azurecr.io/v2/": unauthorized: Application not registered with AAD. ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。 Finished: SUCCESS
タグの情報:dev-A-v2.1.6 success。 Error response from daemon: Get "https://idnaacr.azurecr.io/v2/": unauthorized: Application not registered with AAD. ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。 Finished: SUCCESS
WARNING! Using --password via the CLI is insecure. Use --password-stdin. Error response from daemon: Get "https://.azurecr.io/v2/": dial tcp: lookup .azurecr.io: no such host ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。 Finished: SUCCESS
タグの情報:dev-A-v2.1.6 success。 Error response from daemon: Get "https://idnaacr.azurecr.io/v2/": unauthorized: Application not registered with AAD. ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。 Finished: SUCCESS
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required, visit https://aka.ms/acr/authorization for more information.","detail":null}]}
ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins2627284973299178870.sh タグの情報:dev-A-v2.1.12 Error response from daemon: Get "https://idnaacr.azurecr.io/v2/": unauthorized: Application not registered with AAD. ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。 Finished: SUCCESS
#!/bin/bash
# 環境変数 GIT_TAG からタグの情報を取得する
gitTag=$(git describe --tags --always 2>/dev/null)
if [[ -z "$gitTag" ]]; then
# タグ情報がない場合は終了
echo "タグ情報がありません。ビルドを終了します。"
exit 1
fi
# タグ情報がある場合は処理を続行
echo "タグの情報:$gitTag"
# タグのpushを検知したらDockerイメージのビルドとリリースを行う
if [[ "$gitTag" == dev-A-* ]]; then
appName="catalog-web-app"
version=$(echo "$gitTag" | cut -d "-" -f 3)
imageTag="idnaacr.azurecr.io/${appName}:$version"
CREDENTIALS = credentials('acr-credentials')
docker login "${ACR_LOGINSERVER}" -u "${CREDENTIALS_USR}" -p "${CREDENTIALS_PSW}"
# ACR上に指定のタグのイメージが存在するか確認
if docker manifest inspect "idnaacr.azurecr.io/catalog-web-app:t1.0.0" > /dev/null 2>&1 ; then
# イメージが存在する場合はAKSにセット
echo"connected"
kubectl set image deployment/$appName $appName="idnaacr.azurecr.io/catalog-web-app:t1.0.0"
else
echo "ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。"
fi
else
echo "タグの情報が無効です。ビルドを終了します。"
exit 1
fi
[ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins7188622496889518301.sh タグの情報:dev-A-v2.1.12 Authenticating with existing credentials... WARNING! Your password will be stored unencrypted in /var/jenkins_home/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。 Finished: SUCCESS
#!/bin/bash
# 環境変数 GIT_TAG からタグの情報を取得する
gitTag=$(git describe --tags --always 2>/dev/null)
if [[ -z "$gitTag" ]]; then
# タグ情報がない場合は終了
echo "タグ情報がありません。ビルドを終了します。"
exit 1
fi
# タグ情報がある場合は処理を続行
echo "タグの情報:$gitTag"
# タグのpushを検知したらDockerイメージのビルドとリリースを行う
if [[ "$gitTag" == dev-A-* ]]; then
appName="catalog-web-app"
version=$(echo "$gitTag" | cut -d "-" -f 3)
imageTag="idnaacr.azurecr.io/${appName}:$version"
docker login "${ACR_LOGINSERVER}" -u "${CREDENTIALS_USR}" -p "${CREDENTIALS_PSW}"
# ACR上に指定のタグのイメージが存在するか確認
if docker manifest inspect "t1.0.0" > /dev/null 2>&1 ; then
# イメージが存在する場合はAKSにセット
echo "found"
kubectl set image deployment/$appName $appName="idnaacr.azurecr.io/catalog-web-app:t1.0.0"
else
echo "ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。"
fi
else
echo "タグの情報が無効です。ビルドを終了します。"
exit 1
fi
[ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins3671493650750944786.sh タグの情報:dev-A-v2.1.12 Authenticating with existing credentials... WARNING! Your password will be stored unencrypted in /var/jenkins_home/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded /tmp/jenkins3671493650750944786.sh: line 22: az: command not found ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。 Finished: SUCCESS
[ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins14682012435470559937.sh
タグの情報:dev-A-v1.0.10
/tmp/jenkins14682012435470559937.sh: line 32: unexpected EOF while looking for matching `"'
/tmp/jenkins14682012435470559937.sh: line 35: syntax error: unexpected end of file
Build step 'Execute shell' marked build as failure
Finished: FAILURE
#!/bin/bash
# 環境変数 GIT_TAG からタグの情報を取得する
gitTag=$(git describe --tags --always 2>/dev/null)
if [[ -z "$gitTag" ]]; then
# タグ情報がない場合は終了
echo "タグ情報がありません。ビルドを終了します。"
exit 1
fi
# タグ情報がある場合は処理を続行
echo "タグの情報:$gitTag"
# タグのpushを検知したらDockerイメージのビルドとリリースを行う
if [[ "$gitTag" == dev-A-* ]]; then
appName="catalog-web-app"
version=$(echo "$gitTag" | cut -d "-" -f 3)
imageTag="idnaacr.azurecr.io/${appName}:$version"
docker login "${ACR_LOGINSERVER}" -u "${CREDENTIALS_USR}" -p "${CREDENTIALS_PSW}"
# ACR上に指定のタグのイメージが存在するか確認
if docker pull $imageTag > /dev/null 2>&1; then
# イメージが存在する場合はAKSにセット
echo "found"
kubectl set image deployment/$appName $appName=$imageTag"
else
echo "ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。"
fi
else
echo "タグの情報が無効です。ビルドを終了します。"
exit 1
fi
#!/bin/bash
# 環境変数 GIT_TAG からタグの情報を取得する
gitTag=$(git describe --tags --always 2>/dev/null)
# タグ情報がある場合は処理を続行
echo "タグの情報:$gitTag"
# タグのpushを検知したらDockerイメージのビルドとリリースを行う
if [[ "$gitTag" == dev-A-* ]]; then
appName="catalog-web-app"
setAppName="tidb-catalog-web-app"
version=$(echo "$gitTag" | cut -d "-" -f 3)
imageTag="idnaacr.azurecr.io/${appName}:v1.0.1"
docker login "${ACR_LOGINSERVER}" -u "${CREDENTIALS_USR}" -p "${CREDENTIALS_PSW}"
# ACR上に指定のタグのイメージが存在するか確認
if docker pull $imageTag > /dev/null 2>&1; then
# イメージが存在する場合はAKSにセット
echo "found"
kubectl set image deployment/$setAppName $setAppName=idnaacr.azurecr.io/${setAppName}:v1.0.1
else
echo "ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。"
fi
else
echo "タグの情報が無効です。ビルドを終了します。"
fi
Started on Aug 14, 2023, 2:13:02 AM
Started by event from 140.82.115.50 ⇒ http://20.48.61.168:8080/github-webhook/ on Mon Aug 14 02:13:02 UTC 2023
Polling SCM changes on built-in
Using strategy: Default
[poll] Last Built Revision: Revision 8651f17d0aa1a62bdfe7f1465562ed47d3622e41 (refs/tags/dev-tidb-0814, refs/tags/dev-tidb-demotest)
The recommended git tool is: NONE
No credentials specified
> git rev-parse --resolve-git-dir /var/jenkins_home/workspace/tidbDemo-Catalog-AP-CD/.git # timeout=10
Fetching changes from the remote Git repositories
> git config remote.origin.url git@github.com:qmonus-test/tidb-catalog-web-app.git # timeout=10
Fetching upstream changes from git@github.com:qmonus-test/tidb-catalog-web-app.git
> git --version # timeout=10
> git --version # 'git version 2.30.2'
> git fetch --tags --force --progress -- git@github.com:qmonus-test/tidb-catalog-web-app.git +refs/heads/*:refs/remotes/origin/* # timeout=10
Polling for changes in
Seen branch in repository origin/master
Seen 1 remote branch
> git show-ref --tags -d # timeout=10
> git log --full-history --no-abbrev --format=raw -M -m 8651f17d0aa1a62bdfe7f1465562ed47d3622e41..0002c95d483b8d88b0700ee3e10bbafdb3fbb561 # timeout=10
Done. Took 2 sec
Changes found
Started on Aug 14, 2023, 2:31:56 AM
Started by event from 140.82.115.254 ⇒ http://20.48.61.168:8080/github-webhook/ on Mon Aug 14 02:31:56 UTC 2023
Polling SCM changes on built-in
Using strategy: Default
[poll] Last Built Revision: Revision 0002c95d483b8d88b0700ee3e10bbafdb3fbb561 (refs/tags/dev-tidb-demotest)
The recommended git tool is: NONE
No credentials specified
> git rev-parse --resolve-git-dir /var/jenkins_home/workspace/tidbDemo-Catalog-AP-CD/.git # timeout=10
Fetching changes from the remote Git repositories
> git config remote.origin.url git@github.com:qmonus-test/tidb-catalog-web-app.git # timeout=10
Fetching upstream changes from git@github.com:qmonus-test/tidb-catalog-web-app.git
> git --version # timeout=10
> git --version # 'git version 2.30.2'
> git fetch --tags --force --progress -- git@github.com:qmonus-test/tidb-catalog-web-app.git +refs/heads/*:refs/remotes/origin/* # timeout=10
Polling for changes in
Seen branch in repository origin/master
Seen 1 remote branch
> git show-ref --tags -d # timeout=10
Done. Took 2 sec
No changes
Started on Aug 14, 2023, 2:39:20 AM
Started by event from 140.82.115.252 ⇒ http://20.48.61.168:8080/github-webhook/ on Mon Aug 14 02:39:20 UTC 2023
Polling SCM changes on built-in
Using strategy: Default
[poll] Last Built Revision: Revision 0002c95d483b8d88b0700ee3e10bbafdb3fbb561 (refs/tags/dev-tidb-demotest)
The recommended git tool is: NONE
No credentials specified
> git rev-parse --resolve-git-dir /var/jenkins_home/workspace/tidbDemo-Catalog-AP-CD/.git # timeout=10
Fetching changes from the remote Git repositories
> git config remote.origin.url git@github.com:qmonus-test/tidb-catalog-web-app.git # timeout=10
Fetching upstream changes from git@github.com:qmonus-test/tidb-catalog-web-app.git
> git --version # timeout=10
> git --version # 'git version 2.30.2'
> git fetch --tags --force --progress -- git@github.com:qmonus-test/tidb-catalog-web-app.git +refs/heads/*:refs/remotes/origin/* # timeout=10
Polling for changes in
Seen branch in repository origin/master
Seen 1 remote branch
> git show-ref --tags -d # timeout=10
Done. Took 2 sec
No changes
#!/bin/bash
echo "tagtest:$ref"
# 環境変数 GIT_TAG からタグの情報を取得する
gitTag=$(git describe --tags --always 2>/dev/null)
# タグ情報がある場合は処理を続行
echo "タグの情報:$gitTag"
# タグのpushを検知したらDockerイメージのビルドとリリースを行う
if [[ "$gitTag" == dev-tidb-* ]]; then
appName="catalog-web-app"
setAppName="tidb-catalog-web-app"
version=$(echo "$gitTag" | cut -d "-" -f 3)
imageTag="idnaacr.azurecr.io/${appName}:$version"
docker login "${ACR_LOGINSERVER}" -u "${CREDENTIALS_USR}" -p "${CREDENTIALS_PSW}"
# ACR上に指定のタグのイメージが存在するか確認
if docker pull $imageTag > /dev/null 2>&1; then
# イメージが存在する場合はAKSにセット
echo "found"
docker pull $imageTag
kubectl set image deployment/$setAppName $setAppName=$imageTag
else
echo "ACR上に指定のタグのイメージが存在しません。デプロイをスキップします。"
fi
else
echo "タグの情報が無効です。ビルドを終了します。"
fi
Contributing variables:
ref = dev-tidb-success02
The recommended git tool is: NONE
No credentials specified
> git rev-parse --resolve-git-dir /var/jenkins_home/workspace/tidbDemo-Catalog-AP-CD/.git # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url git@github.com:qmonus-test/tidb-catalog-web-app.git # timeout=10
Fetching upstream changes from git@github.com:qmonus-test/tidb-catalog-web-app.git
> git --version # timeout=10
> git --version # 'git version 2.30.2'
> git fetch --tags --force --progress -- git@github.com:qmonus-test/tidb-catalog-web-app.git +refs/heads/*:refs/remotes/origin/* # timeout=10
Seen branch in repository origin/master
Seen 1 remote branch
> git show-ref --tags -d # timeout=10
Checking out Revision d85bde28e2a922d1247443aa6dcf6730828c9bc5 (refs/tags/dev-tidb-success02, refs/tags/dev-tidb-success01, refs/tags/dev-tidb-demo01, refs/tags/dev-tidb-demo02, refs/tags/dev-tidb-demo03, refs/tags/dev-tidb-demotest02, refs/tags/dev-tidb-demotest01, refs/tags/dev-tidb-demotest03, refs/tags/dev-tidb-0815test10, refs/tags/dev-tidb-0815test13, refs/tags/dev-tidb-0815test12, refs/tags/dev-tidb-0815test11, refs/tags/dev-tidb-0814test22)
> git config core.sparsecheckout # timeout=10
> git checkout -f d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
Commit message: "test"
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
> git rev-list --no-walk d85bde28e2a922d1247443aa6dcf6730828c9bc5 # timeout=10
[tidbDemo-Catalog-AP-CD] $ /bin/bash /tmp/jenkins9164873916338704831.sh
tagtest:
タグの情報:0815test
タグの情報が無効です。ビルドを終了します。
Finished: SUCCESS
def polling_task(): max_attempts = 90 poll_interval = 10 previous_count = -1