Referensi tindakan perintah - AWS CodePipeline

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

Referensi tindakan perintah

Tindakan Commands memungkinkan Anda menjalankan perintah shell dalam instance komputasi virtual. Saat Anda menjalankan tindakan, perintah yang ditentukan dalam konfigurasi tindakan dijalankan dalam wadah terpisah. Semua artefak yang ditetapkan sebagai artefak masukan untuk suatu CodeBuild tindakan tersedia di dalam wadah yang menjalankan perintah. Tindakan ini memungkinkan Anda untuk menentukan perintah tanpa terlebih dahulu membuat CodeBuild proyek. Untuk informasi lebih lanjut, lihat ActionDeclarationdan OutputArtifactdi AWS CodePipeline APIReferensi.

Pertimbangan untuk tindakan Perintah

Pertimbangan berikut berlaku untuk tindakan Perintah.

  • Tindakan perintah menggunakan CodeBuild sumber daya yang mirip dengan CodeBuild tindakan, sambil mengizinkan perintah lingkungan shell dalam instance komputasi virtual tanpa perlu mengaitkan atau membuat proyek build.

    catatan

    Menjalankan tindakan perintah akan dikenakan biaya terpisah di AWS CodeBuild.

  • Karena tindakan Command CodePipeline menggunakan CodeBuild resource, build yang dijalankan oleh action akan dikaitkan dengan batas build untuk akun Anda. CodeBuild Build yang dijalankan oleh tindakan Command akan dihitung terhadap batas build bersamaan seperti yang dikonfigurasi untuk akun tersebut.

  • Batas waktu untuk build dengan tindakan Commands adalah 55 menit, berdasarkan CodeBuild build.

  • Instance komputasi menggunakan lingkungan build yang terisolasi di CodeBuild.

    catatan

    Karena lingkungan build terisolasi digunakan di tingkat akun, instance dapat digunakan kembali untuk eksekusi pipeline lainnya.

  • Semua format didukung kecuali format multi-baris. Anda harus menggunakan format satu baris saat memasukkan perintah.

  • Tindakan perintah tidak didukung untuk tindakan lintas akun atau lintas wilayah.

  • Untuk tindakan ini, CodePipeline akan mengambil peran layanan pipeline dan menggunakan peran itu untuk memungkinkan akses ke sumber daya saat runtime. Disarankan untuk mengonfigurasi peran layanan sehingga izin dicakup ke tingkat tindakan.

  • Izin yang ditambahkan ke peran CodePipeline layanan dirinci dalamMenambahkan izin ke peran CodePipeline layanan.

  • Izin yang diperlukan untuk melihat log di konsol dirinci diIzin diperlukan untuk melihat log komputasi di konsol CodePipeline .

  • Tidak seperti tindakan lain di CodePipeline, Anda tidak menyetel bidang dalam konfigurasi tindakan; Anda mengatur bidang konfigurasi tindakan di luar konfigurasi tindakan.

Izin kebijakan peran layanan

Saat CodePipeline menjalankan tindakan, CodePipeline buat grup log menggunakan nama pipeline sebagai berikut. Ini memungkinkan Anda untuk mengurangi izin untuk mencatat sumber daya menggunakan nama pipeline.

/aws/codepipeline/MyPipelineName

Jika Anda menggunakan peran layanan yang ada, untuk menggunakan tindakan Perintah, Anda perlu menambahkan izin berikut untuk peran layanan.

  • log: CreateLogGroup

  • log: CreateLogStream

  • log: PutLogEvents

Dalam pernyataan kebijakan peran layanan, cakupkan izin ke tingkat pipeline seperti yang ditunjukkan pada contoh berikut.

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*" }

Untuk melihat log di konsol menggunakan halaman dialog detail tindakan, izin untuk melihat log harus ditambahkan ke peran konsol. Untuk informasi selengkapnya, lihat contoh kebijakan izin konsol diIzin diperlukan untuk melihat log komputasi di konsol CodePipeline .

Tipe tindakan

  • Kategori: Compute

  • Pemilik: AWS

  • Penyedia: Commands

  • Versi: 1

Parameter konfigurasi

Commands

Wajib: Ya

Anda dapat memberikan perintah shell untuk menjalankan Commands tindakan. Di konsol, perintah dimasukkan pada baris terpisah. DalamCLI, perintah dimasukkan sebagai string terpisah.

catatan

Format multi-baris tidak didukung dan akan menghasilkan pesan kesalahan. Format baris tunggal harus digunakan untuk memasukkan perintah di bidang Perintah.

Rincian berikut memberikan komputasi default yang digunakan untuk tindakan Commands. Untuk informasi selengkapnya, lihat Mode komputasi lingkungan build dan referensi tipe di Panduan CodeBuild Pengguna.

  • CodeBuild gambar: aws/codebuild/amazonlinux 2-x86_64-standar: 5.0

  • Jenis komputasi: Linux Kecil

  • computeType Nilai lingkungan: BUILD _ GENERAL1 _ SMALL

  • Nilai tipe lingkungan: LINUX _ CONTAINER

outputVariables

Wajib: Tidak

Tentukan nama variabel di lingkungan Anda yang ingin Anda ekspor. Untuk referensi variabel CodeBuild lingkungan, lihat Variabel lingkungan di lingkungan build di Panduan CodeBuild Pengguna.

Berkas

Wajib: Tidak

Anda dapat menyediakan file yang ingin Anda ekspor sebagai artefak keluaran untuk tindakan tersebut.

Format yang didukung untuk file sama dengan pola CodeBuild file. Misalnya, masukkan **/ untuk semua file. Untuk informasi selengkapnya, lihat Membangun referensi spesifikasi untuk CodeBuild di Panduan CodeBuild Pengguna.

Halaman Edit tindakan untuk pipeline baru dengan tindakan Commands

Artefak masukan

  • Jumlah artefak: 1 to 10

Artefak keluaran

  • Jumlah artefak: 0 to 1

Deklarasi tindakan (contoh)

YAML
name: Commands_action actionTypeId: category: Compute owner: AWS provider: Commands version: '1' runOrder: 1 configuration: {} commands: - ls - echo hello - 'echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}' outputArtifacts: - name: BuildArtifact files: - **/ inputArtifacts: - name: SourceArtifact outputVariables: - AWS_DEFAULT_REGION region: us-east-1 namespace: compute
JSON
{ "name": "Commands_action", "actionTypeId": { "category": "Compute", "owner": "AWS", "provider": "Commands", "version": "1" }, "runOrder": 1, "configuration": {}, "commands": [ "ls", "echo hello", "echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}" ], "outputArtifacts": [ { "name": "BuildArtifact", "files": [ "**/" ] } ], "inputArtifacts": [ { "name": "SourceArtifact" } ], "outputVariables": [ "AWS_DEFAULT_REGION" ], "region": "us-east-1", "namespace": "compute" }

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.