Tutorial: Kode lint menggunakan Action GitHub - Amazon CodeCatalyst

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

Tutorial: Kode lint menggunakan Action GitHub

Dalam tutorial ini, Anda menambahkan Super-Linter GitHub Action ke alur kerja Amazon CodeCatalyst . Tindakan Super-Linter memeriksa kode, menemukan area di mana kode memiliki kesalahan, masalah pemformatan, dan konstruksi yang mencurigakan, dan kemudian mengeluarkan hasilnya ke konsol). CodeCatalyst Setelah menambahkan linter ke alur kerja Anda, Anda menjalankan alur kerja untuk lint contoh aplikasi Node.js (). app.js Anda kemudian memperbaiki masalah yang dilaporkan dan menjalankan alur kerja lagi untuk melihat apakah perbaikan berhasil.

Prasyarat

Sebelum Anda mulai, Anda akan membutuhkan:

  • CodeCatalyst Ruang dengan yang terhubung Akun AWS. Untuk informasi selengkapnya, lihat Menciptakan ruang.

  • Proyek kosong di CodeCatalyst ruang Anda disebutcodecatalyst-linter-project. Pilih opsi Mulai dari awal untuk membuat proyek ini.

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

Langkah 1: Buat repositori sumber

Pada langkah ini, Anda membuat repositori sumber di. CodeCatalyst Anda akan menggunakan repositori ini untuk menyimpan contoh file sumber aplikasi,app.js, untuk tutorial ini.

Untuk informasi selengkapnya 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-linter-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-linter-source-repository
  6. Pilih Buat.

Langkah 2: Tambahkan file app.js

Pada langkah ini, Anda menambahkan app.js file ke repositori sumber Anda. Kode app.js berisi fungsi yang memiliki beberapa kesalahan yang akan ditemukan linter.

Untuk menambahkan file app.js
  1. Di CodeCatalyst konsol, pilih proyek Anda,codecatalyst-linter-project.

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

  3. Dari daftar repositori sumber, pilih repositori Anda,. codecatalyst-linter-source-repository

  4. Di File, pilih Buat file.

  5. Di kotak teks, masukkan kode berikut:

    // const axios = require('axios') // const url = 'http://checkip.amazonaws.com/'; let response; /** * * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format * @param {Object} event - API Gateway Lambda Proxy Input Format * * Context doc: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html * @param {Object} context * * Return doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html * @returns {Object} object - API Gateway Lambda Proxy Output Format * */ exports.lambdaHandler = async (event, context) => { try { // const ret = await axios(url); response = { statusCode: 200, 'body': JSON.stringify({ message: 'hello world' // location: ret.data.trim() }) } } catch (err) { console.log(err) return err } return response }
  6. Untuk nama File, masukkanapp.js. Simpan opsi default lainnya.

  7. Pilih Terapkan.

    Anda sekarang telah membuat file bernamaapp.js.

Langkah 3: Buat alur kerja yang menjalankan tindakan Super-Linter

Pada langkah ini, Anda membuat alur kerja yang menjalankan tindakan Super-Linter saat Anda mendorong kode ke repositori sumber Anda. Alur kerja terdiri dari blok bangunan berikut, yang Anda tentukan dalam YAML file:

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

  • Tindakan 'GitHub Tindakan' — Pada pemicu, tindakan Tindakan menjalankan GitHub tindakan Super-Linter, yang pada gilirannya memeriksa semua file di repositori sumber Anda. Jika linter menemukan masalah, tindakan alur kerja gagal.

Untuk membuat alur kerja yang menjalankan tindakan Super-Linter
  1. Di CodeCatalyst konsol, pilih proyek Anda,codecatalyst-linter-project.

  2. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  3. Pilih Buat alur kerja.

  4. Untuk repositori Sumber, pilih. codecatalyst-linter-source-repository

  5. Untuk Cabang, pilihmain.

  6. Pilih Buat.

  7. Hapus kode YAML sampel.

  8. Tambahkan yang berikut iniYAML:

    Name: codecatalyst-linter-workflow SchemaVersion: "1.0" Triggers: - Type: PUSH Branches: - main Actions: SuperLinterAction: Identifier: aws/github-actions-runner@v1 Configuration: Steps: github-action-code

    Pada kode sebelumnya, ganti github-action-code dengan kode tindakan Super-Linter, seperti yang diinstruksikan dalam langkah-langkah berikut dari prosedur ini.

  9. Buka halaman Super-Linter di Marketplace GitHub .

  10. Di bawah steps: (huruf kecil), temukan kode dan tempelkan ke CodeCatalyst alur kerja di bawah Steps: (huruf besar).

    Sesuaikan kode GitHub Action agar sesuai dengan CodeCatalyst standar, seperti yang ditunjukkan pada kode berikut.

    CodeCatalyst Alur kerja Anda sekarang terlihat seperti ini:

    Name: codecatalyst-linter-workflow SchemaVersion: "1.0" Triggers: - Type: PUSH Branches: - main Actions: SuperLinterAction: Identifier: aws/github-actions-runner@v1 Configuration: Steps: - name: Lint Code Base uses: github/super-linter@v4 env: VALIDATE_ALL_CODEBASE: "true" DEFAULT_BRANCH: main
  11. (Opsional) Pilih Validasi untuk memastikan YAML kode valid sebelum melakukan.

  12. Pilih Komit, masukkan pesan Komit, pilih codecatalyst-linter-source-repository Repositori Anda, dan pilih Komit lagi.

    Anda sekarang telah membuat alur kerja. Jalankan alur kerja dimulai secara otomatis karena pemicu yang ditentukan di bagian atas alur kerja.

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-linter-workflow.

  3. Dalam diagram alur kerja, pilih SuperLinterAction.

  4. Tunggu sampai tindakan gagal. Kegagalan ini diharapkan karena linter menemukan masalah dalam kode.

  5. Biarkan CodeCatalyst konsol terbuka dan pergi keLangkah 4: Perbaiki masalah yang ditemukan Super-Linter.

Langkah 4: Perbaiki masalah yang ditemukan Super-Linter

Super-Linter seharusnya menemukan masalah dalam app.js kode, serta README.md file yang disertakan dalam repositori sumber Anda.

Untuk memperbaiki masalah linter ditemukan
  1. Di CodeCatalyst konsol, pilih tab Log, lalu pilih Lint Code Base.

    Log yang dihasilkan tindakan Super-Linter ditampilkan.

  2. Di log Super-Linter, gulir ke bawah ke sekitar baris 90, di mana Anda menemukan awal masalah. Mereka terlihat mirip dengan yang berikut:

    /github/workspace/hello-world/app.js:3:13: Extra semicolon. /github/workspace/hello-world/app.js:9:92: Trailing spaces not allowed. /github/workspace/hello-world/app.js:21:7: Unnecessarily quoted property 'body' found. /github/workspace/hello-world/app.js:31:1: Expected indentation of 2 spaces but found 4. /github/workspace/hello-world/app.js:32:2: Newline required at end of file but not found.
  3. Perbaiki app.js dan README.md di repositori sumber Anda dan komit perubahan Anda.

    Tip

    Untuk memperbaikinyaREADME.md, tambahkan markdown ke blok kode, seperti ini:

    ```markdown Setup examples: ... ```

    Perubahan Anda memulai alur kerja lain berjalan secara otomatis. Tunggu alur kerja selesai. Jika Anda memperbaiki semua masalah, alur kerja harus berhasil.

Bersihkan

Bersihkan CodeCatalyst untuk menghapus jejak tutorial ini dari lingkungan Anda.

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

  2. Hapuscodecatalyst-linter-source-repository.

  3. Hapuscodecatalyst-linter-workflow.

Dalam tutorial ini, Anda belajar cara menambahkan Super-Linter GitHub Action ke CodeCatalyst alur kerja untuk lint beberapa kode.