kirin-ri / memo

0 stars 0 forks source link

81 #9

Open kirin-ri opened 1 year ago

kirin-ri commented 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()
kirin-ri commented 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()
kirin-ri commented 1 year ago
    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()
kirin-ri commented 1 year ago

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) 
kirin-ri commented 1 year ago

UnboundLocalError: local variable 'i4sf' referenced before assignment

kirin-ri commented 1 year ago
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}")
                }
            }
        }
    }
}
kirin-ri commented 1 year ago
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
                    '''
                }
            }
        }
    }
}
kirin-ri commented 1 year ago

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'ブロックを作成してください。
    }
}
kirin-ri commented 1 year ago

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'ブロックを作成してください。
    }
}
kirin-ri commented 1 year ago

invalid argument "idnaacr.azurecr.io/catalog-web-app:dev/A社/v1.1.1" for "-t, --tag" flag: invalid reference format

kirin-ri commented 1 year ago

// 環境変数 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 "タグの情報が無効です。ビルドを終了します。"
}
kirin-ri commented 1 year ago

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
kirin-ri commented 1 year ago

!/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

kirin-ri commented 1 year ago

~~~

!/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

kirin-ri commented 1 year ago

#!/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
kirin-ri commented 1 year ago

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
kirin-ri commented 1 year ago

gitTag=$(git describe --tags --always 2>/dev/null)

kirin-ri commented 1 year ago
kirin-ri commented 1 year ago

[ATest-Catalog-AP-CD] $ /bin/bash /tmp/jenkins1390304922393608233.sh タグの情報:dev-A社-v2.1.2 タグの情報が無効です。ビルドを終了します。 Build step 'Execute shell' marked build as failure Finished: FAILURE

kirin-ri commented 1 year ago
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
kirin-ri commented 1 year ago
version=$(echo "$gitTag" | cut -d "-" -f 3)
imageTag="your-acr-name.azurecr.io/${appName}:v$version"
kirin-ri commented 1 year ago

[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

kirin-ri commented 1 year ago

タグの情報: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

kirin-ri commented 1 year ago

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

kirin-ri commented 1 year ago

タグの情報: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

kirin-ri commented 1 year ago

{"errors":[{"code":"UNAUTHORIZED","message":"authentication required, visit https://aka.ms/acr/authorization for more information.","detail":null}]}

kirin-ri commented 1 year ago

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

kirin-ri commented 1 year ago

#!/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
kirin-ri commented 1 year ago

[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

kirin-ri commented 1 year ago

#!/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
kirin-ri commented 1 year ago

[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

kirin-ri commented 1 year ago

[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
kirin-ri commented 1 year ago

#!/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
kirin-ri commented 1 year ago

#!/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
kirin-ri commented 1 year ago

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
kirin-ri commented 1 year ago

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
kirin-ri commented 1 year ago

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
kirin-ri commented 1 year ago

https://github.com/jenkinsci/generic-webhook-trigger-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/gwt/bdd/github/github-push-tag.feature

kirin-ri commented 1 year ago

#!/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
kirin-ri commented 1 year ago

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