Tutorial: Unggah artefak ke Amazon S3 - Amazon CodeCatalyst

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Unggah artefak ke Amazon S3

Dalam tutorial ini, Anda mempelajari cara mengunggah artefak ke bucket Amazon S3 menggunakan alur kerja CodeCatalyst Amazon yang menyertakan beberapa tindakan build. Tindakan ini berjalan secara seri saat alur kerja dimulai. Tindakan build pertama menghasilkan dua file, Hello.txt danGoodbye.txt, dan menggabungkannya menjadi artefak build. Tindakan build kedua mengunggah artefak ke Amazon S3. Anda akan mengonfigurasi alur kerja untuk dijalankan setiap kali Anda mendorong komit ke repositori sumber Anda.

Prasyarat

Sebelum memulai, Anda perlu melakukan hal berikut:

  • Anda membutuhkan CodeCatalyst ruang dengan AWS akun yang terhubung. Untuk informasi selengkapnya, lihat Menciptakan ruang.

  • Di ruang Anda, Anda memerlukan proyek kosong yang disebut:

    codecatalyst-artifact-project

    Gunakan opsi Mulai dari awal untuk membuat proyek ini.

    Untuk informasi selengkapnya, lihat Membuat proyek kosong di Amazon CodeCatalyst.

  • Dalam proyek Anda, Anda memerlukan CodeCatalyst lingkungan yang disebut:

    codecatalyst-artifact-environment

    Konfigurasikan lingkungan ini sebagai berikut:

    • Pilih jenis apa saja, seperti Pengembangan.

    • Hubungkan AWS akun Anda ke sana.

    • Untuk IAMperan Default, pilih peran apa pun. Anda akan menentukan peran yang berbeda nanti.

    Untuk informasi selengkapnya, lihat Menyebarkan ke Akun AWS dan VPCs.

Langkah 1: Buat AWS peran

Pada langkah ini, Anda membuat AWS IAM peran yang nantinya akan Anda tetapkan ke tindakan build dalam alur kerja Anda. Peran ini memberikan izin tindakan CodeCatalyst build untuk mengakses AWS akun Anda dan menulis ke Amazon S3 tempat artefak Anda akan disimpan. Peran tersebut disebut peran Build.

catatan

Jika Anda sudah memiliki peran build yang Anda buat untuk tutorial lain, Anda dapat menggunakannya untuk tutorial ini juga. Pastikan itu memiliki izin dan kebijakan kepercayaan yang ditunjukkan dalam prosedur berikut.

Untuk informasi selengkapnya tentang IAM peran, lihat IAMperan di Panduan AWS AWS Identity and Access Management Pengguna.

Untuk membuat peran build
  1. Buat kebijakan untuk peran tersebut, sebagai berikut:

    1. Masuk ke AWS.

    2. Buka IAM konsol di https://console.aws.amazon.com/iam/.

    3. Di panel navigasi, pilih Kebijakan.

    4. Pilih Buat kebijakan.

    5. Pilih JSONtab.

    6. Hapus kode yang ada.

    7. Tempel kode berikut:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": "*" } ] }
      catatan

      Pertama kali peran digunakan untuk menjalankan tindakan alur kerja, gunakan wildcard dalam pernyataan kebijakan sumber daya dan kemudian cakup kebijakan dengan nama sumber daya setelah tersedia.

      "Resource": "*"
    8. Pilih Selanjutnya: Tag.

    9. Pilih Berikutnya: Tinjau.

    10. Dalam Nama, masukkan:

      codecatalyst-s3-build-policy
    11. Pilih Buat kebijakan.

      Anda sekarang telah membuat kebijakan izin.

  2. Buat peran build, sebagai berikut:

    1. Di panel navigasi, pilih Peran, lalu pilih Buat peran.

    2. Pilih Kebijakan kepercayaan khusus.

    3. Hapus kebijakan kepercayaan kustom yang ada.

    4. Tambahkan kebijakan kepercayaan khusus berikut:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Pilih Berikutnya.

    6. Di Kebijakan izin, cari codecatalyst-s3-build-policy dan pilih kotak centang.

    7. Pilih Berikutnya.

    8. Untuk nama Peran, masukkan:

      codecatalyst-s3-build-role
    9. Untuk deskripsi Peran, masukkan:

      CodeCatalyst build role
    10. Pilih Buat peran.

    Anda sekarang telah membuat peran build dengan kebijakan kepercayaan dan kebijakan izin.

Langkah 2: Buat ember Amazon S3

Pada langkah ini, Anda membuat ember Amazon S3 tempat Goodbye.txt artefak Hello.txt dan artefak akan diunggah.

Untuk membuat bucket Amazon S3
  1. Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel utama, pilih Buat ember.

  3. Untuk nama Bucket, masukkan:

    codecatalyst-artifact-bucket
  4. Untuk Wilayah AWS , pilih Wilayah. Tutorial ini mengasumsikan Anda memilih US West (Oregon) us-west-2. Untuk informasi tentang Wilayah yang didukung oleh Amazon S3, lihat titik akhir dan kuota Amazon Simple Storage Service di. Referensi Umum AWS

  5. Di bagian bawah halaman, pilih Buat ember.

  6. Salin nama bucket yang baru saja Anda buat, misalnya:

    codecatalyst-artifact-bucket

Anda sekarang telah membuat ember yang disebut codecatalyst-artifact-bucket di Wilayah AS Barat (Oregon) us-west-2.

Langkah 3: Buat repositori sumber

Pada langkah ini, Anda membuat repositori sumber di. CodeCatalyst Repositori ini digunakan untuk menyimpan file definisi alur kerja tutorial.

Untuk informasi lebih lanjut tentang repositori sumber, lihat. Membuat repositori sumber

Untuk membuat repositori sumber
  1. Buka CodeCatalyst konsol di https://codecatalyst.aws/.

  2. Arahkan ke proyek Anda,codecatalyst-artifact-project.

  3. Di panel navigasi, pilih Kode, lalu pilih Repositori sumber.

  4. Pilih Tambahkan repositori, lalu pilih Buat repositori.

  5. Dalam nama Repositori, masukkan:

    codecatalyst-artifact-source-repository
  6. Pilih Buat.

Anda sekarang telah membuat repositori yang disebut. codecatalyst-artifact-source-repository

Langkah 4: Buat alur kerja

Pada langkah ini, Anda membuat alur kerja yang terdiri dari blok bangunan berikut yang berjalan secara berurutan:

  • Pemicu - Pemicu ini memulai alur kerja yang dijalankan secara otomatis saat Anda mendorong perubahan ke repositori sumber Anda. Untuk informasi lebih lanjut tentang pemicu, lihatMemulai alur kerja berjalan secara otomatis menggunakan pemicu.

  • Tindakan build yang disebut GenerateFiles — Pada pemicu, GenerateFiles aksi membuat dua file, Hello.txt danGoodbye.txt, dan mengemasnya ke dalam artefak keluaran yang disebutcodecatalystArtifact.

  • Tindakan build lain yang disebut Upload — Setelah menyelesaikan GenerateFiles tindakan, Upload tindakan menjalankan AWS CLI perintah aws s3 sync untuk mengunggah file di codecatalystArtifact dan di repositori sumber Anda ke bucket Amazon S3 Anda. Ini sudah AWS CLI diinstal sebelumnya dan dikonfigurasi sebelumnya pada platform CodeCatalyst komputasi, jadi Anda tidak perlu menginstal atau mengkonfigurasinya.

    Untuk informasi lebih lanjut tentang perangkat lunak pra-paket pada platform CodeCatalyst komputasi, lihat. Menentukan gambar lingkungan runtime Untuk informasi selengkapnya tentang aws s3 sync perintah, lihat sinkronisasi di Referensi AWS CLI Perintah. AWS CLI

Untuk informasi selengkapnya tentang tindakan build, lihatMembangun dengan alur kerja.

Untuk membuat alur kerja
  1. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  2. Pilih Buat alur kerja.

  3. Hapus kode YAML sampel.

  4. Tambahkan YAML kode berikut:

    catatan

    Dalam YAML kode berikut, Anda dapat menghilangkan Connections: bagian jika Anda mau. Jika Anda menghilangkan bagian ini, Anda harus memastikan bahwa peran yang ditentukan dalam bidang IAMperan default di lingkungan Anda mencakup izin dan kebijakan kepercayaan yang dijelaskan dalam. Langkah 1: Buat AWS peran Untuk informasi selengkapnya tentang menyiapkan lingkungan dengan IAM peran default, lihatPembuatan lingkungan.

    Name: codecatalyst-artifact-workflow SchemaVersion: 1.0 Triggers: - Type: Push Branches: - main Actions: GenerateFiles: Identifier: aws/build@v1 Configuration: Steps: # Create the output files. - Run: echo "Hello, World!" > "Hello.txt" - Run: echo "Goodbye!" > "Goodbye.txt" Outputs: Artifacts: - Name: codecatalystArtifact Files: - "**/*" Upload: Identifier: aws/build@v1 DependsOn: - GenerateFiles Environment: Name: codecatalyst-artifact-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-s3-build-role Inputs: Artifacts: - codecatalystArtifact Configuration: Steps: # Upload the output artifact to the S3 bucket. - Run: aws s3 sync . s3://codecatalyst-artifact-bucket

    Pada kode di atas, ganti:

    Untuk informasi tentang properti dalam file ini, lihatMembangun dan menguji tindakan YAML.

  5. (Opsional) Pilih Validasi untuk memastikan YAML kode valid sebelum melakukan.

  6. Pilih Terapkan.

  7. Pada kotak dialog Commit workflow, masukkan yang berikut ini:

    1. Untuk nama file Workflow, biarkan default,codecatalyst-artifact-workflow.

    2. Untuk pesan Commit, masukkan:

      add initial workflow file
    3. Untuk Repositori, pilih. codecatalyst-artifact-source-repository

    4. Untuk nama cabang, pilih main.

    5. Pilih Terapkan.

    Anda sekarang telah membuat alur kerja. Jalankan alur kerja dimulai secara otomatis karena pemicu yang ditentukan di bagian atas alur kerja. Khususnya, ketika Anda melakukan (dan mendorong) codecatalyst-artifact-workflow.yaml file ke repositori sumber Anda, pemicu memulai alur kerja dijalankan.

Untuk melihat alur kerja yang sedang berjalan
  1. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  2. Pilih alur kerja yang baru saja Anda buat:codecatalyst-artifact-workflow.

  3. Pilih GenerateFilesuntuk melihat progres tindakan build pertama.

  4. Pilih Unggah untuk melihat progres tindakan build kedua.

  5. Setelah tindakan Upload selesai, lakukan hal berikut:

    • Jika alur kerja berjalan berhasil, pergi ke prosedur berikutnya.

    • Jika alur kerja gagal, pilih Log untuk memecahkan masalah.

Langkah 5: Verifikasi hasilnya

Setelah alur kerja berjalan, buka layanan Amazon S3 dan lihat di codecatalyst-artifact-bucket bucket. Sekarang harus menyertakan file dan folder berikut:

. |— .aws/ |— .git/ |Goodbye.txt |Hello.txt |REAME.md

Hello.txtFile Goodbye.txt dan diunggah karena mereka adalah bagian dari codecatalystArtifact artefak. README.mdFile.aws/,.git/, dan diunggah karena berada di repositori sumber Anda.

Bersihkan

Bersihkan CodeCatalyst dan AWS untuk menghindari biaya untuk layanan ini.

Untuk membersihkan di CodeCatalyst
  1. Buka CodeCatalyst konsol di https://codecatalyst.aws/.

  2. Hapus repositori codecatalyst-artifact-source-repository sumber.

  3. Hapus codecatalyst-artifact-workflow alur kerja.

Untuk membersihkan di AWS
  1. Bersihkan di Amazon S3, sebagai berikut:

    1. Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

    2. Hapus file di codecatalyst-artifact-bucket ember.

    3. Hapus codecatalyst-artifact-bucket ember.

  2. BersihkanIAM, sebagai berikut:

    1. Buka IAM konsol di https://console.aws.amazon.com/iam/.

    2. Hapuscodecatalyst-s3-build-policy.

    3. Hapuscodecatalyst-s3-build-role.