cicd/cloudbuild_private_repo.yaml (34 lines of code) (raw):

# # Copyright (C) 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. # steps: - name: 'gcr.io/cloud-builders/git' secretEnv: ['SSH_KEY', 'GITHUB_KNOWN_HOSTS'] entrypoint: 'bash' args: - -c - | echo "$$SSH_KEY" >> /root/.ssh/id_rsa chmod 400 /root/.ssh/id_rsa echo "$$GITHUB_KNOWN_HOSTS" >> /root/.ssh/known_hosts volumes: - name: 'ssh' path: /root/.ssh - name: 'gcr.io/cloud-builders/git' args: ['clone', '${GITHUB_REPOSITORY}', '--branch', '${GITHUB_BRANCH}', '--single-branch', '--depth', '1', '/input'] volumes: - name: 'ssh' path: /root/.ssh - name: 'gcr.io/cloud-builders/docker' args: [ "run", "-v", "/workspace/${INPUT_FOLDER}:/workspace/${INPUT_FOLDER}", "-i", "${ANTI_PATTERN_IMAGE}t", "--input_folder_path", "/workspace/${INPUT_FOLDER}" ] availableSecrets: secretManager: - versionName: projects/${PROJECT_ID}/secrets/${PRIVATE_SSH_SECRET}/versions/latest env: 'SSH_KEY' - versionName: projects/${PROJECT_ID}/secrets/${KNOWN_HOSTS_SECRET}/versions/latest env: 'GITHUB_KNOWN_HOSTS'