Membangun program COBOL Db2 dengan menggunakan dan AWS Mainframe ModernizationAWS CodeBuild - AWS Prescriptive Guidance

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

Membangun program COBOL Db2 dengan menggunakan dan AWS Mainframe ModernizationAWS CodeBuild

Luis Gustavo Dantas dan Eduardo Zimelewicz, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara membuat AWS CodeBuild proyek sederhana untuk mengkompilasi dan mengikat program COBOL Db2 dengan menggunakan alat Replatform. AWS Mainframe Modernization Ini memungkinkan penerapan dan eksekusi program-program ini di lingkungan runtime AWS Mainframe Modernization Replatform.

COBOL, bahasa pemrograman berorientasi bisnis, mendukung banyak aplikasi penting karena keandalan dan keterbacaannya. IBM Db2, sistem manajemen database relasional, mengelola volume data yang besar secara efisien dan terintegrasi dengan program COBOL melalui SQL. Bersama-sama, COBOL dan Db2 membentuk tulang punggung operasi misi kritis di industri seperti keuangan dan pemerintah, meskipun munculnya teknologi yang lebih baru.

Migrasi komponen COBOL dan Db2 dari lingkungan mainframe ke platform lain mengarah pada tantangan seperti kompatibilitas platform, kompleksitas integrasi, migrasi data, dan pengoptimalan kinerja. Memindahkan komponen penting ini membutuhkan perencanaan yang cermat, keahlian teknis, dan sumber daya untuk memastikan migrasi yang lancar sambil mempertahankan keandalan dan fungsionalitas.

AWS Mainframe Modernization Layanan ini menyediakan alat dan sumber daya untuk memplatform ulang aplikasi mainframe dan database untuk berjalan pada AWS infrastruktur, seperti instans Amazon Elastic Compute Cloud (Amazon). EC2 Ini melibatkan pemindahan beban kerja mainframe ke cloud tanpa perubahan kode besar.

Proses precompile dan bind Db2 sangat penting untuk mengoptimalkan kinerja dan keandalan aplikasi database. Prakompilasi mengubah pernyataan SQL yang disematkan menjadi kode yang dapat dieksekusi, yang mengurangi overhead runtime dan meningkatkan efisiensi. Proses mengikat menghubungkan kode yang telah dikompilasi sebelumnya dengan struktur database, memfasilitasi jalur akses dan optimasi kueri. Proses ini memastikan integritas data, meningkatkan daya tanggap aplikasi, dan menjaga terhadap kerentanan keamanan. Aplikasi yang dikompilasi dan terikat dengan benar meminimalkan konsumsi sumber daya, meningkatkan skalabilitas, dan mengurangi risiko serangan injeksi SQL.

Prasyarat dan batasan

Prasyarat

  • Akses konsol tingkat administratif Akun AWS dan administratif.

  • Sistem database IBM Db2, seperti IBM Db2 untuk z/OS atau Db2 untuk Linux, Unix, dan Windows (LUW).

  • Perangkat lunak IBM Data Server Client, yang tersedia untuk diunduh dari situs web IBM. Untuk informasi selengkapnya, lihat tipe IBM Data Server Client dan Data Server Driver.

  • Program COBOL Db2 yang akan dikompilasi dan diikat. Atau, pola ini menyediakan program sampel dasar yang dapat Anda gunakan.

  • Virtual Private Cloud (VPC) aktif AWS dengan jaringan pribadi. Untuk informasi tentang membuat VPC, lihat dokumentasi Amazon Virtual Private Cloud (Amazon VPC).

  • Sebuah repositori kontrol sumber seperti GitHub atau. GitLab

Keterbatasan

Arsitektur

Tumpukan teknologi sumber

Tumpukan sumber meliputi:

  • Program COBOL yang menggunakan database Db2 untuk menyimpan data

  • Kompiler IBM COBOL dan Db2 untuk precompiler z/OS

  • Bagian lain dari pengaturan mainframe, seperti sistem file, manajer transaksi, dan spool

Tumpukan teknologi target

Pendekatan pola ini berfungsi untuk dua opsi: memindahkan data dari Db2 ke Db2 z/OS untuk LUW, atau tetap menggunakan Db2 untuk z/OS. Arsitektur target meliputi:

  • Program COBOL yang menggunakan database Db2 untuk menyimpan data

  • AWS Mainframe Modernization Alat kompilasi replatform

  • AWS CodeBuild sebagai infrastruktur untuk membangun aplikasi

  • AWS Cloud Sumber daya lain seperti Amazon Linux

Arsitektur target

Arsitektur untuk membangun program COBOL Db2 di AWS.

Diagram ini menggambarkan hal sebagai berikut:

  1. Pengguna mengunggah kode mereka ke repositori kontrol sumber seperti atau. GitHub GitLab

  2. AWS CodePipeline memperhatikan perubahan dan mendapatkan kode dari repositori.

  3. CodePipeline memulai AWS CodeBuild dan mengirimkan kode.

  4. CodeBuild mengikuti instruksi dalam buildspec.yml template (disediakan di bagian Informasi tambahan) untuk:

    1. Dapatkan Klien Server Data IBM dari bucket Amazon Simple Storage Service (Amazon S3).

    2. Instal dan atur IBM Data Server Client.

    3. Ambil kredensi Db2 dari. AWS Secrets Manager

    4. Hubungi server Db2.

    5. Prakompilasi, kompilasi, dan ikat program COBOL.

    6. Simpan produk jadi dalam ember S3 AWS CodeDeploy untuk digunakan.

  5. CodePipeline dimulai CodeDeploy.

  6. CodeDeploy mengoordinasikan agennya, yang sudah diinstal di lingkungan runtime. Agen mengambil aplikasi dari Amazon S3 dan menginstalnya berdasarkan instruksi di. appspec.yml

Untuk menjaga hal-hal sederhana dan fokus pada build, instruksi dalam pola ini mencakup langkah 1 hingga 4 tetapi tidak termasuk penerapan program COBOL Db2.

Otomatisasi dan skala

Untuk kesederhanaan, pola ini menjelaskan cara menyediakan sumber daya secara manual. Namun, ada banyak opsi otomatisasi yang tersedia, seperti,, dan HashiCorp Terraform AWS CloudFormation AWS Cloud Development Kit (AWS CDK), yang mengotomatiskan tugas-tugas ini. Untuk informasi lebih lanjut, lihat AWS CloudFormationdan AWS CDKdokumentasi.

Alat

Layanan AWS

  • AWS CodeBuildadalah layanan build terkelola penuh yang membantu Anda mengkompilasi kode sumber, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan.

  • AWS CodeDeploymengotomatiskan penerapan ke Amazon EC2 atau instans, fungsi AWS Lambda , atau layanan Amazon Elastic Container Service (Amazon ECS) lokal.

  • AWS CodePipelinemembantu Anda dengan cepat memodelkan dan mengkonfigurasi berbagai tahapan rilis perangkat lunak dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perubahan perangkat lunak secara terus menerus.

  • AWS Mainframe Modernizationmenyediakan alat dan sumber daya untuk membantu Anda merencanakan dan mengimplementasikan migrasi dan modernisasi dari mainframe ke lingkungan runtime AWS terkelola.

Alat lainnya

  • Gambar Amazon ECR untuk alat AWS Mainframe Modernization Replatform. Untuk mengkompilasi aplikasi COBOL, Anda harus memulai CodeBuild dengan menggunakan image Amazon Elastic Container Registry (Amazon ECR) Registry ECR) yang berisi alat Replatform: AWS Mainframe Modernization

    673918848628.dkr.ecr.<your-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1

    Untuk informasi lebih lanjut tentang gambar ECR yang tersedia, lihat tutorial di Panduan AWS Mainframe Modernization Pengguna.

  • Perangkat lunak IBM Data Server Client sangat penting untuk pra-kompilasi dan pengikatan program COBOL Db2 di. CodeBuild Ini bertindak sebagai jembatan antara kompiler COBOL dan Db2.

Praktik terbaik

  • Tidak setiap program COBOL bergantung pada Db2 sebagai lapisan persistensi datanya. Pastikan bahwa arahan kompilasi untuk mengakses Db2 diterapkan hanya untuk program COBOL yang dirancang khusus untuk berinteraksi dengan Db2. Menerapkan logika untuk membedakan antara program COBOL Db2 dan program COBOL yang tidak menggunakan Db2.

  • Kami menyarankan Anda menghindari kompilasi program yang belum dimodifikasi. Menerapkan proses untuk mengidentifikasi program mana yang memerlukan kompilasi.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat bucket S3 untuk meng-host IBM Data Server Client dan artefak pipeline.

Anda perlu menyiapkan bucket S3 untuk (a) mengunggah Klien Server Data IBM, (b) menyimpan kode Anda dari repositori, dan (c) menyimpan hasil proses pembuatan.

  1. Masuk ke AWS Management Console, dan buka konsol Amazon S3.

  2. Pilih bucket S3 yang sudah ada atau buat bucket baru. Perhatikan Amazon Resource Name (ARN) bucket untuk penggunaan di masa mendatang.

Untuk cara membuat bucket S3, lihat dokumentasi Amazon S3.

AWS Umum

Unggah Klien Server Data IBM ke bucket S3.

  1. Di konsol Amazon S3, pilih ember untuk membukanya.

  2. Pilih Buat folder, tentukan namanya sebagai klien, lalu pilih Buat folder.

  3. Buka folder klien, pilih Unggah, Tambahkan file.

  4. Pilih file Klien Server Data IBM yang sebelumnya Anda unduh dari situs web IBM ke sistem file lokal Anda.

    Nama file harus mirip dengan v11.5.8_linuxx64_client.tar.gz atauv11.5.9_linuxx64_client.tar.gz.

  5. Pilih Buka, Unggah dan tunggu hingga unggahan selesai.

  6. Pada tab File dan folder, pilih Data Server Client dan catat URI S3-nya.

AWS Umum

Buat AWS Secrets Manager rahasia untuk kredensi Db2 Anda.

Untuk membuat rahasia untuk menyimpan DB2 kredensil Anda dengan aman:

  1. Di konsol Secrets Manager, pilih Simpan rahasia baru.

  2. Di panel Pilih tipe rahasia, pilih Jenis rahasia lain dan Plaintext.

  3. Dalam kotak Plaintext, ketik kredenal Db2 Anda dengan menggunakan struktur JSON berikut.

    { "username": "<your-db2-user-name>", "password": "<your-db2-password>", "db2node": "db2dev", "db2host": "<your-db2-hostname-or-IP>", "db2port": <your-db2-port>, "db2name": "<your-db2-location>", "qualifier": "<your-db2-qualifier>" }
  4. Pilih Berikutnya dan beri nama rahasia sepertidev-db2-cred.

  5. Pilih Berikutnya, Berikutnya, dan Simpan.

Untuk informasi selengkapnya tentang membuat rahasia, lihat dokumentasi Secrets Manager.

AWS Umum

Verifikasi bahwa Db2 dapat diakses dari subnet VPC.

AWS CodeBuild membutuhkan koneksi ke server Db2 sehingga Klien Server Data dapat melakukan operasi prakompilasi dan mengikat. Pastikan itu CodeBuild dapat mencapai server Db2 melalui koneksi yang aman.

  1. Buka konsol Amazon VPC.

  2. Pada panel navigasi, pilih Subnet dan tuliskan dan subnet pribadi di mana CodeBuild akan berfungsi. IDs IPv4 CIDRs

  3. Perbarui pengaturan kontrol akses jaringan saat ini untuk sistem Db2 Anda dengan memperkenalkan aturan masuk. Aturan ini harus mengaktifkan akses TCP khusus ke port Db2 secara eksklusif dari subnet CIDRs yang terkait dengan proyek Anda. CodeBuild

Administrator jaringan, AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Buat aset COBOL Db2.

  1. Jika Anda ingin menggunakan contoh COBOL Db2 sederhana, simpan kode sumber berikut sebagai. CDB2SMP.cbl Atau, Anda dapat mengganti contoh ini dengan program yang sudah Anda miliki.

    IDENTIFICATION DIVISION. PROGRAM-ID. CDB2SMP. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NAME PIC X(100). PROCEDURE DIVISION. EXEC SQL SELECT NAME INTO :WS-NAME FROM SYSIBM.SYSTABLES END-EXEC GOBACK.
  2. Komit perubahan dan dorong file ke repositori Anda.

Pengembang aplikasi

Buat file buildspec.yml.

  1. Buat buildspec.yml file berdasarkan contoh yang disediakan di bagian Informasi tambahan.

  2. Komit perubahan dan dorong file ke repositori Anda.

AWS DevOps

Connect repositori Anda ke. CodePipeline

  1. Buka konsol Alat AWS Pengembang.

  2. Di panel navigasi, pilih Pengaturan, Koneksi.

  3. Ikuti petunjuk dalam dokumentasi konsol Alat Pengembang untuk penyedia sumber pilihan Anda.

Anda akan memerlukan Nama Sumber Daya Amazon (ARN) untuk koneksi saat Anda membuat kebijakan AWS Identity and Access Management (IAM) untuk langkah CodePipeline selanjutnya.

AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Buat kebijakan IAM untuk CodeBuild.

CodeBuild Proyek ini memerlukan akses ke beberapa sumber daya, termasuk Secrets Manager dan Amazon S3.

Untuk mengatur izin yang diperlukan:

  1. Buka konsol IAM.

  2. Di panel navigasi, pilih Kebijakan, Buat Kebijakan, lalu pilih CodeBuild layanan.

  3. Alihkan pemformatan dari Visual ke JSON, dan salin CodeBuild kebijakan yang disediakan di bagian Informasi tambahan ke bidang Editor kebijakan.

  4. Beri nama dan simpan kebijakan ini untuk referensi future di langkah berikutnya.

Untuk informasi selengkapnya tentang membuat kebijakan IAM, lihat dokumentasi IAM.

AWS Umum

Buat peran IAM untuk CodeBuild.

Agar kebijakan keamanan tersedia CodeBuild, Anda perlu mengonfigurasi peran IAM.

Untuk membuat peran ini:

1. Di konsol IAM, di panel navigasi, pilih Peran, Buat Peran.

3. Untuk jenis entitas Tepercaya, pertahankan Layanan AWSsetelan default.

4. Untuk kasus penggunaan, pilih CodeBuild layanan, dan kemudian pilih Berikutnya.

4. Dalam daftar kebijakan IAM yang tersedia, cari kebijakan yang Anda buat CodeBuild, lalu pilih Berikutnya untuk melampirkannya ke peran.

5. Tentukan nama untuk peran, dan pilih Buat peran untuk menyimpannya untuk referensi di masa mendatang CodeBuild.

Untuk informasi selengkapnya tentang membuat peran IAM untuk sebuah Layanan AWS, lihat dokumentasi IAM.

AWS Umum

Buat kebijakan IAM untuk CodePipeline.

AWS CodePipeline Pipeline memerlukan akses ke beberapa sumber daya, termasuk repositori kode Anda dan Amazon S3.

Ulangi langkah-langkah yang diberikan sebelumnya CodeBuild untuk membuat kebijakan IAM CodePipeline (pada langkah 2, pilih CodePipelinesebagai ganti CodeBuild).

AWS DevOps

Buat peran IAM untuk CodePipeline.

Agar kebijakan keamanan tersedia CodePipeline, Anda perlu mengonfigurasi peran IAM.

Untuk membuat peran ini:

  1. Di konsol IAM, pilih Peran, Buat Peran.

  2. Untuk jenis entitas Tepercaya, pilih Kebijakan kepercayaan khusus.

    Kebijakan dengan Principal elemen kosong akan ditampilkan.

  3. Di Principal telepon, di antara kawat gigi, tambahkan:

    "Service": "codepipeline.amazonaws.com"

    Kebijakan kepercayaan akan terlihat seperti ini:

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

  5. Dalam daftar kebijakan IAM yang tersedia, cari kebijakan yang Anda buat CodePipeline, lalu pilih Berikutnya untuk melampirkannya ke peran.

  6. Tentukan nama untuk peran, dan pilih Buat peran untuk menyimpannya untuk referensi di masa mendatang CodePipeline.

AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Buat CodePipeline pipeline dan CodeBuild proyek.

Untuk membuat CodePipeline pipeline dan CodeBuild proyek yang mengkompilasi dan mengikat program COBOL Db2:

  1. Buka CodePipeline konsol, dan pilih Create Pipeline, Build custom pipeline.

  2. Tentukan nama untuk pipeline.

  3. Untuk peran Layanan, pilih Peran layanan yang ada dan pilih tentukan ARN untuk peran IAM yang Anda buat. CodePipeline

  4. Perluas Pengaturan lanjutan, pilih Lokasi khusus, pilih bucket S3 yang sebelumnya Anda buat, lalu pilih Berikutnya.

  5. Untuk penyedia Sumber, pilih penyedia sumber pihak ketiga Anda, dan berikan informasi yang relevan untuk penyedia:

    1. Untuk Koneksi, pilih koneksi yang dibuat untuk penyedia sumber.

    2. Untuk nama Repositori, pilih repositori Anda.

    3. Untuk cabang Default, pilih cabang yang menyimpan program COBOL Anda danbuildspec.yml.

    4. Pilih Berikutnya.

  6. Untuk penyedia Build, pilih Penyedia build lainnya, AWS CodeBuild.

  7. Untuk nama Project, pilih Create project.

    Konsol menampilkan CodeBuild jendela tempat Anda dapat membuat proyek build. Di jendela ini:

    1. Masukkan nama untuk proyek tersebut.

    2. Untuk gambar Lingkungan, pilih Gambar kustom.

    3. Untuk jenis Lingkungan, pilih Linux Container.

    4. Untuk akun ECR, pilih Akun ECR lainnya.

    5. Untuk URI repositori Amazon ECR, masukkan:. 673918848628.dkr.ecr.<your-region>.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1

    6. Untuk peran Layanan, pilih Peran layanan yang ada dan pilih peran yang Anda buat CodeBuild.

    7. Perluas bagian Konfigurasi tambahan, lalu pilih VPC, subnet pribadi, dan grup keamanan untuk proyek ini.

    8. Di bagian Buildspec, pilih Gunakan file buildspec.

    9. Di akhir jendela, pilih Lanjutkan keCodePipeline. CodeBuild Jendela akan ditutup sehingga Anda dapat kembali ke CodePipeline konsol.

  8. Kembali ke CodePipeline konsol, pilih Berikutnya.

  9. Di panel Tambahkan tahap penerapan, pilih Lewati tahap penerapan, dan konfirmasikan.

  10. Tinjau parameter pipeline lalu pilih Create pipeline.

AWS DevOps

Tinjau output.

Verifikasi keberhasilan build dengan meninjau log CodePipeline build.

AWS DevOps

Periksa hasil di Db2.

Verifikasi versi paket pada tabel SYSPLAN.

select CAST(NAME AS VARCHAR(10)) as name, VALIDATE, LAST_BIND_TIME, LASTUSED, CAST(PKGVERSION AS VARCHAR(10)) as PKGVERSION from SYSIBM.SYSPLAN where NAME = 'CDB2SMP' order by LAST_BIND_TIME desc

Versi harus cocok dengan ID CodeBuild build, yang ada CDB2SMP dalam contoh kita:

NAME VALIDATE LAST_BIND_TIME LASTUSED PKGVERSION ---------- -------- -------------------------- ---------- ---------- CDB2SMP B 2024-05-18-11.53.11.503738 01/01/0001 19

Pemecahan Masalah

IsuSolusi

Terkadang, AWS konsol beralih Wilayah saat Anda berpindah antar layanan.

Pastikan untuk memverifikasi yang dipilih Wilayah AWS setiap kali Anda beralih antar layanan.

Wilayah AWS Pemilih berada di sudut kanan atas jendela konsol.

Mungkin sulit untuk mengidentifikasi masalah konektivitas Db2 dari. CodeBuild

Untuk memecahkan masalah konektivitas, tambahkan perintah DB2 connect berikut ke file. buildspec.yml Penambahan ini membantu Anda men-debug dan menyelesaikan masalah konektivitas.

db2 connect to $DB_NAME user $DB2USER using $DB2PASS

Terkadang, panel peran di konsol IAM tidak langsung menampilkan kebijakan IAM yang telah Anda buat.

Jika Anda mengalami penundaan, segarkan layar untuk menampilkan informasi terbaru.

Sumber daya terkait

Dokumentasi IBM

AWS dokumentasi

Informasi tambahan

CodeBuild kebijakan

Ganti placeholder<RegionID>,,<AccountID>, <SubnetARN><BucketARN>, dan <DB2CredSecretARN> dengan nilai-nilai Anda.

{"Version": "2012-10-17", "Statement": [ {"Action": "ecr:GetAuthorizationToken", "Effect": "Allow", "Resource": "*" }, {"Action": ["ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability"], "Effect": "Allow", "Resource": "arn:aws:ecr:*:673918848628:repository/m2-enterprise-build-tools"}, {"Action": "s3:PutObject", "Effect": "Allow", "Resource": "arn:aws:s3:::aws-m2-repo-*/*"}, {"Action": ["logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup"], "Effect": "Allow", "Resource": "arn:aws:logs:<RegionId>:<AccountId>:*"}, {"Action": ["ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DescribeDhcpOptions", "ec2:DeleteNetworkInterface", "ec2:CreateNetworkInterface"], "Effect": "Allow", "Resource": "*"}, {"Action": "ec2:CreateNetworkInterfacePermission", "Effect": "Allow", "Resource": ["<SubnetARN>"]}, {"Action": "s3:*", "Effect": "Allow", "Resource": ["<BucketARN>/*","<BucketARN>"]}, {"Action": "secretsmanager:GetSecretValue", "Effect": "Allow", "Resource": "<DB2CredSecretARN>"} ] }

CodePipeline kebijakan

Ganti placeholder <BucketARN> dan <ConnectionARN> dengan nilai-nilai Anda.

{ "Version": "2012-10-17", "Statement": [ {"Action": ["s3:List*", "s3:GetObjectVersion", "s3:GetObject", "s3:GetBucketVersioning" ], "Effect": "Allow", "Resource": ["<BucketARN>/*", "<BucketARN>"]}, {"Action": ["codebuild:StartBuild", "codebuild:BatchGetBuilds"], "Effect": "Allow", "Resource": "*"}, {"Action": ["codestar-connections:UseConnection"], "Effect": "Allow", "Resource": "<ConnectionARN>"} ] }

buildspec.yml

Ganti <your-bucket-name> placeholder dengan nama bucket S3 Anda yang sebenarnya.

version: 0.2 phases: pre_build: commands: - /var/microfocuslicensing/bin/mfcesd -no > /var/microfocuslicensing/logs/mfcesd_startup.log 2>&1 & - | mkdir $CODEBUILD_SRC_DIR/db2client aws s3 cp s3://<your-bucket-name>/v11.5.8_linuxx64_client.tar.gz $CODEBUILD_SRC_DIR/db2client/ >> /dev/null 2>&1 tar -xf $CODEBUILD_SRC_DIR/db2client/v11.5.8_linuxx64_client.tar.gz -C $CODEBUILD_SRC_DIR/db2client/ cd $CODEBUILD_SRC_DIR/db2client/ ./client/db2_install -f sysreq -y -b /opt/ibm/db2/V11.5 >> /dev/null 2>&1 useradd db2cli /opt/ibm/db2/V11.5/instance/db2icrt -s client -u db2cli db2cli DB2CRED=$(aws secretsmanager get-secret-value --secret-id dev-db2-cred | jq -r '.SecretString | fromjson') read -r DB2USER DB2PASS DB_NODE DB_HOST DB_PORT DB_NAME DB_QUAL <<<$(echo $DB2CRED | jq -r '.username, .password, .db2node, .db2host, .db2port, .db2name, .qualifier') . /home/db2cli/sqllib/db2profile db2 catalog tcpip node $DB_NODE remote $DB_HOST server $DB_PORT db2 catalog db $DB_NAME as $DB_NAME at node $DB_NODE authentication server build: commands: - | revision=$CODEBUILD_SRC_DIR/loadlib mkdir -p $revision; cd $revision . /opt/microfocus/EnterpriseDeveloper/bin/cobsetenv cob -zU $CODEBUILD_SRC_DIR/CDB2SMP.cbl -C "DB2(DB==${DB_NAME} PASS==${DB2USER}.${DB2PASS} VERSION==${CODEBUILD_BUILD_NUMBER} COLLECTION==DB2AWSDB" artifacts: files: - "**/*" base-directory: $revision