

AWS Layanan Modernisasi Mainframe (Managed Runtime Environment experience) tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan Layanan Modernisasi AWS Mainframe (pengalaman Lingkungan Runtime Terkelola), jelajahi Layanan Modernisasi AWS Mainframe (Pengalaman yang Dikelola Sendiri). Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat Perubahan [AWS ketersediaan Modernisasi Mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

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

# Tutorial: Menyiapkan perangkat lunak roket (sebelumnya Micro Focus) build untuk aplikasi sampel BankDemo
<a name="tutorial-build-mf"></a>

AWS Modernisasi Mainframe memberi Anda kemampuan untuk menyiapkan saluran pipa build dan continuous integration/continuous delivery (CI/CD) untuk aplikasi yang dimigrasi. Build dan pipeline ini menggunakan AWS CodeBuild, AWS CodeCommit, dan AWS CodePipeline untuk menyediakan kemampuan ini. CodeBuild adalah layanan build terkelola penuh yang mengkompilasi kode sumber Anda, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan. CodeCommit adalah layanan kontrol versi yang memungkinkan Anda menyimpan dan mengelola reponsitori Git secara pribadi di Cloud. AWS CodePipeline adalah layanan pengiriman berkelanjutan yang memungkinkan Anda untuk memodelkan, memvisualisasikan, dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perangkat lunak Anda.

Tutorial ini menunjukkan cara menggunakan AWS CodeBuild untuk mengkompilasi BankDemo contoh kode sumber aplikasi dari Amazon S3 dan kemudian mengekspor kode yang dikompilasi kembali ke Amazon S3.

AWS CodeBuild adalah layanan integrasi berkelanjutan yang dikelola sepenuhnya yang mengkompilasi kode sumber, menjalankan pengujian, dan menghasilkan paket perangkat lunak yang siap digunakan. Dengan CodeBuild, Anda dapat menggunakan lingkungan build yang dikemas sebelumnya, atau Anda dapat membuat lingkungan build khusus yang menggunakan alat build Anda sendiri. Skenario demo ini menggunakan opsi kedua. Ini terdiri dari lingkungan CodeBuild build yang menggunakan image Docker pra-paket.

**penting**  
Sebelum Anda memulai proyek modernisasi mainframe Anda, kami sarankan Anda mempelajari tentang [AWS Migration Acceleration Program (MAP) untuk Mainframe atau hubungi spesialis mainframe untuk](https://aws.amazon.com/migration-acceleration-program/mainframe/) [mempelajari tentang langkah-langkah yang diperlukan untuk memodernisasi aplikasi AWS mainframe](mailto: mainframe@amazon.com).

**Topics**
+ [Prasyarat](#tutorial-build-mf-prerequisites)
+ [Langkah 1: Bagikan aset build dengan AWS akun](#tutorial-build-mf-assets)
+ [Langkah 2: Buat ember Amazon S3](#tutorial-build-mf-s3)
+ [Langkah 3: Buat file spesifikasi build](#tutorial-build-mf-spec)
+ [Langkah 4: Unggah file sumber](#tutorial-build-mf-upload)
+ [Langkah 5: Buat kebijakan IAM](#tutorial-build-mf-IAM-policy)
+ [Langkah 6: Buat peran IAM](#tutorial-build-mf-IAM-role)
+ [Langkah 7: Lampirkan kebijakan IAM ke peran IAM](#tutorial-build-mf-attach)
+ [Langkah 8: Buat CodeBuild proyek](#tutorial-build-mf-create-project)
+ [Langkah 9: Mulai membangun](#tutorial-build-mf-start)
+ [Langkah 10: Unduh artefak keluaran](#tutorial-build-mf-download-output)
+ [Pembersihan sumber daya](#tutorial-build-mf-clean)

## Prasyarat
<a name="tutorial-build-mf-prerequisites"></a>

Sebelum Anda memulai tutorial ini, selesaikan prasyarat berikut.
+ Unduh [aplikasi BankDemo sampel](https://d3lkpej5ajcpac.cloudfront.net/demo/mf/BANKDEMO-build.zip) dan unzip ke folder. Folder sumber berisi program COBOL dan Copybook, dan definisi. Ini juga berisi folder JCL untuk referensi, meskipun Anda tidak perlu membangun JCL. Folder ini juga berisi file meta yang diperlukan untuk build.
+ **Di konsol Modernisasi AWS Mainframe, pilih Tools.** Dalam **Analisis, pengembangan, dan pembuatan aset**, pilih **Bagikan aset dengan akun AWS saya**.

## Langkah 1: Bagikan aset build dengan AWS akun
<a name="tutorial-build-mf-assets"></a>

Pada langkah ini, Anda memastikan bahwa Anda berbagi aset build dengan AWS akun Anda, terutama di Wilayah tempat aset digunakan.

1. Buka konsol Modernisasi AWS Mainframe di. [https://console.aws.amazon.com/m2/](https://us-west-2.console.aws.amazon.com/m2/home?region=us-west-2#/)

1. Di navigasi kiri, pilih **Tools**.

1. Dalam **Analisis, pengembangan, dan bangun aset**, pilih **Bagikan aset dengan AWS akun saya**.

**penting**  
Anda perlu melakukan langkah ini sekali di setiap AWS Wilayah di mana Anda ingin melakukan pembangunan.

## Langkah 2: Buat ember Amazon S3
<a name="tutorial-build-mf-s3"></a>

Pada langkah ini, Anda membuat dua ember Amazon S3. Yang pertama adalah bucket input untuk menahan kode sumber, dan yang lainnya adalah bucket keluaran untuk menampung output build. Untuk informasi selengkapnya, lihat [Membuat, mengonfigurasi, dan bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) di Panduan Pengguna Amazon *S3*.

1. Untuk membuat bucket input, masuk ke konsol Amazon S3 dan pilih **Buat** bucket.

1. Dalam **konfigurasi Umum**, berikan nama untuk bucket dan tentukan Wilayah AWS tempat Anda ingin membuat bucket. Contoh nama adalah`codebuild-regionId-accountId-input-bucket`, di mana `regionId` ember, dan `accountId` Akun AWS ID Anda. Wilayah AWS 
**catatan**  
Jika Anda membuat bucket berbeda Wilayah AWS dari US East (Virginia N.), tentukan `LocationConstraint` parameternya. Untuk informasi selengkapnya, lihat [Membuat Bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) di *Referensi API Amazon Simple Storage Service*.

1. Pertahankan semua pengaturan lainnya dan pilih **Buat ember**.

1. Ulangi langkah 1-3 untuk membuat bucket keluaran. Contoh nama adalah`codebuild-regionId-accountId-output-bucket`, di mana `regionId` ember dan `accountId` Akun AWS ID Anda. Wilayah AWS 

   Apa pun nama yang Anda pilih untuk ember ini, pastikan untuk menggunakannya di seluruh tutorial ini.

## Langkah 3: Buat file spesifikasi build
<a name="tutorial-build-mf-spec"></a>

Pada langkah ini, Anda membuat file spesifikasi build,. File ini menyediakan perintah build dan pengaturan terkait, dalam format YAMAL, CodeBuild untuk menjalankan build. Untuk informasi selengkapnya, lihat [Membangun referensi spesifikasi untuk CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) di *Panduan AWS CodeBuild Pengguna*.

1. Buat file bernama `buildspec.yml` di direktori yang Anda buka ritsletingnya sebagai prasyarat.

1. Tambahkan konten berikut ke file dan simpan. Tidak ada perubahan yang diperlukan untuk file ini.

   ```
   version: 0.2
   env:
     exported-variables:
       - CODEBUILD_BUILD_ID
       - CODEBUILD_BUILD_ARN
   phases:
     install:
       runtime-versions:
         python: 3.7
     pre_build:
       commands:
         - echo Installing source dependencies...
         - ls -lR $CODEBUILD_SRC_DIR/source
     build:
       commands:
         - echo Build started on `date`
         - /start-build.sh -Dbasedir=$CODEBUILD_SRC_DIR/source -Dloaddir=$CODEBUILD_SRC_DIR/target 
     post_build:
       commands:
         - ls -lR $CODEBUILD_SRC_DIR/target
         - echo Build completed on `date`
   artifacts:
     files:
       - $CODEBUILD_SRC_DIR/target/**
   ```

   Di sini`CODEBUILD_BUILD_ID`,`CODEBUILD_BUILD_ARN`,`$CODEBUILD_SRC_DIR/source`, dan `$CODEBUILD_SRC_DIR/target` merupakan variabel lingkungan yang tersedia di dalamnya CodeBuild. Untuk informasi selengkapnya, lihat [Variabel lingkungan di lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

   Pada titik ini, direktori Anda akan terlihat seperti ini.

   ```
   (root directory name)
       |-- build.xml
       |-- buildspec.yml
       |-- LICENSE.txt
       |-- source
            |... etc.
   ```

1. Zip isi folder ke file bernama`BankDemo.zip`.. Untuk tutorial ini, Anda tidak dapat zip folder. Sebagai gantinya, zip isi folder ke file`BankDemo.zip`.

## Langkah 4: Unggah file sumber
<a name="tutorial-build-mf-upload"></a>

Pada langkah ini, Anda mengunggah kode sumber untuk aplikasi BankDemo sampel ke bucket input Amazon S3 Anda.

1. Masuk ke konsol Amazon S3 dan pilih **Bucket di panel** navigasi kiri. Kemudian pilih bucket input yang Anda buat sebelumnya.

1. Di bawah **Objek**, pilih **Unggah**.

1. Di bagian **File dan folder**, pilih **Tambahkan File**.

1. Arahkan ke dan pilih `BankDemo.zip` file Anda.

1. Pilih **Unggah**.

## Langkah 5: Buat kebijakan IAM
<a name="tutorial-build-mf-IAM-policy"></a>

Pada langkah ini, Anda membuat dua [kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Satu kebijakan memberikan izin untuk Modernisasi AWS Mainframe untuk mengakses dan menggunakan gambar Docker yang berisi alat pembuatan Perangkat Lunak Rocket. Kebijakan ini tidak disesuaikan untuk pelanggan. [Kebijakan lainnya memberikan izin untuk Modernisasi AWS Mainframe untuk berinteraksi dengan bucket input dan output, dan dengan log Amazon yang menghasilkan. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) CodeBuild 

Untuk mempelajari cara membuat kebijakan IAM, lihat [Mengedit kebijakan IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) Pengguna *IAM*.

**Untuk membuat kebijakan untuk mengakses gambar Docker**

1. Di konsol IAM, salin dokumen kebijakan berikut dan tempelkan ke editor kebijakan.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ecr:GetAuthorizationToken"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ecr:BatchCheckLayerAvailability",
                   "ecr:GetDownloadUrlForLayer",
                   "ecr:BatchGetImage"
               ],
               "Resource": "arn:aws:ecr:*:673918848628:repository/m2-enterprise-build-tools"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::aws-m2-repo-*-<region>-prod"
           }
       ]
   }
   ```

------

1. Berikan nama untuk kebijakan tersebut, misalnya,`m2CodeBuildPolicy`.

**Untuk membuat kebijakan yang memungkinkan Modernisasi AWS Mainframe berinteraksi dengan bucket dan log**

1. Di konsol IAM, salin dokumen kebijakan berikut dan tempelkan ke editor kebijakan. Pastikan untuk memperbarui `regionId` ke Wilayah AWS, dan `accountId` ke Anda Akun AWS.

1. Berikan nama untuk kebijakan tersebut, misalnya,`BankdemoCodeBuildRolePolicy`.

## Langkah 6: Buat peran IAM
<a name="tutorial-build-mf-IAM-role"></a>

Pada langkah ini, Anda membuat [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) baru yang memungkinkan CodeBuild untuk berinteraksi dengan AWS sumber daya untuk Anda, setelah Anda mengaitkan kebijakan IAM yang sebelumnya Anda buat dengan peran IAM baru ini.

Untuk informasi tentang membuat peran layanan, lihat [Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) di *Panduan Pengguna IAM*,.

1. Masuk ke konsol IAM dan pilih **Peran** di panel navigasi kiri.

1. Pilih **Buat peran**.

1. Di bawah **Jenis entitas Tepercaya**, pilih **layanan AWS**.

1. Di bawah **Kasus penggunaan untuk layanan AWS lainnya **CodeBuild****, pilih, lalu pilih **CodeBuild**lagi.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih **Berikutnya**. Anda menetapkan kebijakan untuk peran nanti.

1. Di bawah **Rincian peran**, berikan nama untuk peran tersebut, misalnya,`BankdemoCodeBuildServiceRole`.

1. Di bawah **Pilih entitas tepercaya**, verifikasi bahwa dokumen kebijakan terlihat seperti berikut:

------
#### [ JSON ]

****  

   ```
   {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Principal": {
                   "Service": "codebuild.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
               }
             ]
           }
   ```

------

1. Pilih **Buat peran**.

## Langkah 7: Lampirkan kebijakan IAM ke peran IAM
<a name="tutorial-build-mf-attach"></a>

Pada langkah ini, Anda melampirkan dua kebijakan IAM yang sebelumnya Anda buat ke peran `BankdemoCodeBuildServiceRole` IAM.

1. Masuk ke konsol IAM dan pilih **Peran** di panel navigasi kiri.

1. Di **Peran**, pilih peran yang Anda buat sebelumnya, misalnya,`BankdemoCodeBuildServiceRole`.

1. Di **kebijakan Izin**, pilih **Tambahkan izin**, lalu **Lampirkan** kebijakan.

1. Dalam **kebijakan izin lainnya**, pilih kebijakan yang Anda buat sebelumnya, misalnya, `m2CodeBuildPolicy` dan`BankdemoCodeBuildRolePolicy`.

1. Pilih **Lampirkan kebijakan**.

## Langkah 8: Buat CodeBuild proyek
<a name="tutorial-build-mf-create-project"></a>

Pada langkah ini, Anda membuat CodeBuild proyek.

1. Masuk ke CodeBuild konsol dan pilih **Buat proyek build**.

1. Di bagian **konfigurasi Proyek**, berikan nama untuk proyek, misalnya,`codebuild-bankdemo-project`.

1. Di bagian **Sumber**, untuk **penyedia Sumber**, pilih **Amazon S3**, lalu pilih bucket input yang Anda buat sebelumnya, misalnya,. `codebuild-regionId-accountId-input-bucket`

1. Di bidang **kunci objek S3 atau folder S3**, masukkan nama file zip yang Anda unggah ke bucket S3. Dalam hal ini, nama file adalah`bankdemo.zip`.

1. Di bagian **Lingkungan**, pilih **Gambar kustom**.

1. Di bidang **Environment type**, pilih **Linux**.

1. Di bawah **Registri gambar**, pilih **Registri lain**.

1. Di bidang **URL registri eksternal**, 
   + Untuk Perangkat Lunak Roket v9: Enter`673918848628.dkr.ecr.us-west-1.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1`. Jika Anda menggunakan AWS Wilayah yang berbeda dengan Rocket Software v9, Anda juga dapat menentukan` 673918848628.dkr.ecr.<m2-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1`, di mana <m2-region>adalah AWS Wilayah di mana layanan Modernisasi AWS Mainframe tersedia (misalnya,). `eu-west-3`
   + Untuk Perangkat Lunak Roket v8: Enter `673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1`
   + Untuk Perangkat Lunak Roket v7: Enter `673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:7.0.R10`

1. Di bawah **Peran layanan**, pilih **Peran layanan yang ada**, dan di bidang **ARN Peran**, pilih peran layanan yang Anda buat sebelumnya; misalnya,. `BankdemoCodeBuildServiceRole`

1. Di bagian **Buildspec**, pilih **Gunakan** file buildspec.

1. Di bagian **Artefak**, di bawah **Jenis**, pilih **Amazon** S3, lalu pilih bucket keluaran Anda, misalnya,. `codebuild-regionId-accountId-output-bucket`

1. Di bidang **Nama**, masukkan nama folder di bucket yang ingin berisi artefak keluaran build, misalnya,`bankdemo-output.zip`.

1. Di bawah **kemasan Artefak**, pilih **Zip**.

1. Pilih **Buat proyek build**.

## Langkah 9: Mulai membangun
<a name="tutorial-build-mf-start"></a>

Pada langkah ini, Anda memulai build.

1. Masuk ke CodeBuild konsol.

1. Di panel navigasi kiri, pilih **Membangun proyek**.

1. Pilih proyek build yang Anda buat sebelumnya, misalnya,`codebuild-bankdemo-project`.

1. Pilih **Mulai membangun**.

Perintah ini memulai build. Build berjalan secara asinkron. Output dari perintah adalah JSON yang menyertakan id atribut. Atribut ini adalah referensi ke id CodeBuild build build yang baru saja Anda mulai. Anda dapat melihat status build di CodeBuild konsol. Anda juga dapat melihat log terperinci tentang eksekusi build di konsol. Untuk informasi selengkapnya, [lihat Melihat informasi build terperinci](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started-build-log-console.html) di *Panduan AWS CodeBuild Pengguna*.

Ketika fase saat ini SELESAI, itu berarti build Anda berhasil diselesaikan, dan artefak yang dikompilasi sudah siap di Amazon S3.

## Langkah 10: Unduh artefak keluaran
<a name="tutorial-build-mf-download-output"></a>

Pada langkah ini, Anda mengunduh artefak keluaran dari Amazon S3. Alat pembuatan Perangkat Lunak Rocket dapat membuat beberapa jenis yang dapat dieksekusi yang berbeda. Dalam tutorial ini, ini menghasilkan objek bersama.

1. Masuk ke konsol Amazon S3.

1. Di bagian **Bucket** role="bold">, pilih nama bucket keluaran Anda, misalnya,. `codebuild-regionId-accountId-output-bucket`

1. Pilih **Download** role="bold">.

1. Unzip file yang diunduh. Arahkan ke folder target untuk melihat artefak build. Ini termasuk objek bersama `.so` Linux.

## Pembersihan sumber daya
<a name="tutorial-build-mf-clean"></a>

Jika Anda tidak lagi membutuhkan sumber daya yang Anda buat untuk tutorial ini, hapus untuk menghindari biaya tambahan. Untuk melakukannya, selesaikan langkah-langkah berikut:
+ Hapus bucket S3 yang Anda buat untuk tutorial ini. Untuk informasi selengkapnya, lihat [Menghapus bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.
+ Hapus kebijakan IAM yang Anda buat untuk tutorial ini. Untuk informasi selengkapnya, lihat [Menghapus kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) di Panduan Pengguna *IAM*.
+ Hapus peran IAM yang Anda buat untuk tutorial ini. Untuk informasi lebih lanjut, lihat [Menghapus peran atau profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dalam *Panduan Pengguna IAM*.
+ Hapus CodeBuild proyek yang Anda buat untuk tutorial ini. Untuk informasi selengkapnya, lihat [Menghapus proyek build CodeBuild di](https://docs.aws.amazon.com/codebuild/latest/userguide/delete-project.html) *Panduan AWS CodeBuild Pengguna*.