Menambahkan komponen repositori dan kode sumber ke cetak biru - Amazon CodeCatalyst

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

Menambahkan komponen repositori dan kode sumber ke cetak biru

Repositori digunakan oleh Amazon CodeCatalyst untuk menyimpan kode. Repositori mengambil nama sebagai input. Sebagian besar komponen disimpan dalam repositori, seperti file kode sumber, alur kerja, dan komponen lain seperti lingkungan pengembangan terkelola (MDE). Komponen repositori sumber juga mengekspor komponen yang digunakan untuk mengelola file dan aset statis. Repositori memiliki batasan nama. Untuk informasi selengkapnya, lihat Simpan dan berkolaborasi pada kode dengan repositori sumber di CodeCatalyst.

const repository = new SourceRepository(this, { title: 'my-new-repository-title', });

Untuk mengimpor repositori CodeCatalyst cetak biru Amazon dan komponen kode sumber

Dalam blueprint.ts file Anda, tambahkan yang berikut ini:

import {...} from '@caws-blueprint-component/caws-source-repositories'

Menambahkan file

Anda dapat menulis file teks ke repositori dengan konstruksinya. SourceFile Operasi adalah salah satu kasus penggunaan yang paling umum dan mengambil repositori, jalur file, dan konten teks. Jika jalur file tidak ada dalam repositori, komponen akan membuat semua folder yang diperlukan.

new SourceFile(repository, `path/to/my/file/in/repo/file.txt`, 'my file contents');
catatan

Jika Anda menulis dua file ke lokasi yang sama dalam repositori yang sama, implementasi terbaru menimpa yang sebelumnya. Anda dapat menggunakan fitur ini untuk melapisi kode yang dihasilkan, dan ini sangat berguna untuk memperluas kode yang mungkin dihasilkan oleh cetak biru khusus.

Menambahkan file generik

Anda dapat menulis bit arbitrer ke repositori Anda. Anda dapat membaca dari buffer dan menggunakan File konstruksinya.

new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());

Menyalin file

Anda dapat memulai dengan kode yang dihasilkan dengan menyalin dan menempelkan kode awal dan kemudian menghasilkan lebih banyak kode di atas basis itu. Tempatkan kode di dalam static-assets direktori, dan kemudian targetkan kode itu dengan StaticAsset konstruksinya. Jalur dalam hal ini selalu dimulai di root static-assets direktori.

const starterCode = new StaticAsset('path/to/file/file.txt') const starterCodeText = new StaticAsset('path/to/file/file.txt').toString() const starterCodeRawContent = new StaticAsset('path/to/image/hello.png').content() const starterCodePath = new StaticAsset('path/to/image/hello.png').path() // starterCodePath is equal to 'path/to/image/hello.png'

Sebuah subkelas dari StaticAsset adalahSubstitutionAsset. Fungsi subclass persis sama, tetapi sebagai gantinya Anda dapat menjalankan substitusi kumis di atas file sebagai gantinya. Ini dapat berguna untuk melakukan generasi copy-and-replace gaya.

Substitusi aset statis menggunakan mesin template kumis untuk merender file statis yang disematkan ke dalam repositori sumber yang dihasilkan. Aturan template kumis diterapkan selama rendering, yang berarti bahwa semua nilai dikodekan HTML secara default. Untuk merender HTML unescaped, gunakan sintaks triple mustache. {{{name}}} Untuk informasi lebih lanjut, lihat aturan template kumis.

catatan

Menjalankan pengganti di atas file yang tidak dapat ditafsirkan teks dapat menghasilkan kesalahan.

const starterCodeText = new SubstitionAsset('path/to/file/file.txt').subsitite({ 'my_variable': 'subbed value1', 'another_variable': 'subbed value2' })

Menargetkan banyak file

Aset statis mendukung penargetan glob melalui fungsi statis StaticAsset aktif dan subkelasnya yang dipanggilfindAll(...), yang mengembalikan daftar aset statis yang dimuat sebelumnya dengan jalur, konten, dan lainnya. Anda dapat menghubungkan daftar dengan File konstruksi untuk menyalin dan menempelkan konten di static-assets direktori.

new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());

Membuat repositori baru dan menambahkan file

Anda dapat menggunakan komponen repositori untuk membuat repositori baru dalam proyek yang dihasilkan. Anda kemudian dapat menambahkan file atau alur kerja ke repositori yang dibuat.

import { SourceRepository } from '@amazon-codecatalyst/codecatalyst-source-repositories'; ... const repository = new SourceRepository(this, { title: 'myRepo' });

Contoh berikut menunjukkan cara menambahkan file dan alur kerja ke repositori yang ada:

import { SourceFile } from '@amazon-codecatalyst/codecatalyst-source-repositories'; import { Workflow } from '@amazon-codecatalyst/codecatalyst-workflows'; ... new SourceFile(repository, 'README.md', 'This is the content of my readme'); new Workflow(this, repository, {/**...workflowDefinition...**/});

Menggabungkan dua potongan kode menghasilkan satu repositori bernama myRepo dengan file sumber README.md dan CodeCatalyst alur kerja di root.