برنامه نویسی

تنظیم خط لوله ساخت و استقرار خودکار جاوا با AWS CodeArtifact

مقدمه

در این راهنما ، شما را از طریق نحوه تنظیم یک نمونه EC2 برای کامپایل ، بسته بندی و انتشار یک پروژه Maven مبتنی بر جاوا به AWS CodeArtifact پیاده روی خواهم کرد. این تنظیم یک فرآیند مدیریت بسته بندی قوی و قابل استفاده مجدد را در یک خط لوله CI/CD بومی انجام می دهد.

مرحله 1: تنظیم نمونه EC2

1.1 راه اندازی یک نمونه EC2

من با راه اندازی یک شروع کردم آمازون لینوکس 2023 T3.Micro نمونه EC2 با مشخصات زیر:

  • آمی: آمازون لینوکس 2023
  • نوع نمونه: t3.micro
  • ذخیره سازی: 8 گیگابایت (پیش فرض)
  • گروه امنیتی: مجاز SSH (پورت 22) و HTTP (بندر 80)

1.2 اتصال به نمونه EC2

پس از راه اندازی نمونه ، من از طریق SSH با استفاده از:

ssh -i my-key.pem ec2-user@
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این امر دسترسی مستقیم به نمونه برای نصب نرم افزار را فراهم کرد.


مرحله 2: نصب جاوا و مون

Maven برای ساخت و مدیریت پروژه های جاوا موظف است ، در حالی که جاوا برای اجرای برنامه های مبتنی بر Maven مورد نیاز است.

2.1 نصب جاوا آمازون صحیح 8

Amazon Corretto 8 توزیع رایگان و آماده تولید OpenJDK است. من آن را با:

sudo dnf install -y java-1.8.0-amazon-corretto-devel
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس ، من متغیرهای محیط را تنظیم کردم تا اطمینان حاصل شود که جاوا به درستی شناخته شده است:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64
export PATH=$JAVA_HOME/bin:$PATH
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

برای دائمی این تغییر ، مسیرها را اضافه کردم ~/.bashrc:

echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

من نصب را با:

java -version
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2.2 نصب Maven 3.5.2

Maven 3.5.2 برای ساخت برنامه وب جاوا مورد نیاز بود. من آن را به صورت دستی بارگیری و استخراج کردم:

wget https://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
sudo tar -xzf apache-maven-3.5.2-bin.tar.gz -C /opt
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس ، آن را به مسیر سیستم خود اضافه کردم:

echo "export PATH=/opt/apache-maven-3.5.2/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

من تأیید کردم که Maven با اجرا نصب شده است:

mvn -version
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 3: کلونینگ و پیکربندی پروژه جاوا

من یک مخزن GIT را در نمونه EC2 خود آغاز کردم و آن را به مخزن GitHub خود وصل کردم:

git init
git remote add origin https://github.com/richardatodo/nextwork-web-project.git
git pull origin main
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در داخل فهرست پروژه ، من اطمینان حاصل کردم که وابستگی های مورد نیاز در آن تعریف شده است pom.xml:


    
        junit
        junit
        3.8.1
        test
    

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس ، من پروژه را برای تأیید همه چیز کار کردم:

mvn compile
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 4: تنظیم AWS CodeArtifact

4.1 ایجاد یک مخزن codeartifact و دامنه

آن را دریافت کرد! من پست وبلاگ را به روز می کنم تا منعکس کننده این باشد که شما ایجاد کرده اید دامنه و مخزن codeartifact از طریق کنسول AWS به جای استفاده از AWS CLI.

در اینجا بخش اصلاح شده وجود دارد:


مرحله 4: تنظیم AWS CodeArtifact

من ایجاد کردم دامنه codeartifact وت مخزن از طریق کنسول مدیریت AWS:

  1. حرکت به AWS CodeArtifact:

    • باز کردن کنسول AWS و برو به کاردستیبشر
  2. یک دامنه CodeArtifact ایجاد کنید:

    • کلیک کردن دامنه ایجاد کنیدبشر
    • وارد کردن نام دامنه: nextworkبشر
    • کلیک کردن دامنه ایجاد کنیدبشر
  3. یک مخزن codeartifact ایجاد کنید:

    • کلیک کردن مخزن ایجاد کنیدبشر
    • وارد کردن نام مخزن: nextwork-devops-cicdبشر
    • دامنه را انتخاب کنید nextworkبشر
    • (اختیاری) فعال کنید مخازن بالادست در صورت نیاز
    • کلیک کردن مخزن ایجاد کنیدبشر

4.2 پیکربندی مجوزهای IAM

برای اینکه EC2 با CodeArtifact ارتباط برقرار کند ، من یک سیاست IAM ایجاد کردم:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codeartifact:GetAuthorizationToken",
                "codeartifact:GetRepositoryEndpoint",
                "codeartifact:ReadFromRepository",
                "codeartifact:PublishPackageVersion",
                "codeartifact:PutPackageMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "sts:GetServiceBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sts:AWSServiceName": "codeartifact.amazonaws.com"
                }
            }
        }
    ]
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

من این سیاست را به نقش IAM پیوستم و آن را با نمونه EC2 خود مرتبط کردم.

4.3 ایجاد یک نشانه مجوز

برای تأیید اعتبار Maven با CodeArtifact ، من یک نشانه تولید کردم و آن را در یک متغیر محیط ذخیره کردم:

export CODEARTIFACT_AUTH_TOKEN=$(aws codeartifact get-authorization-token --domain nextwork --query authorizationToken --output text)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


مرحله 5: پیکربندی Maven برای استفاده از Codeartifact

من ایجاد کردم settings.xml پرونده در فهرست پروژه من:


  
    
      nextwork-nextwork-devops-cicd
      aws
      ${env.CODEARTIFACT_AUTH_TOKEN}
    
  
  
    
      nextwork-nextwork-devops-cicd
      
        true
      
      
        
          nextwork-nextwork-devops-cicd
          https://nextwork-617439230997.d.codeartifact.us-east-1.amazonaws.com/maven/nextwork-devops-cicd/
        
      
    
  

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

سپس ، دستور Maven Compile را اجرا کنید ، که از پرونده Settings.xml استفاده می کنیم که ما فقط پیکربندی کردیم ::

mvn -s settings.xml compile
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر

مرحله ششم: انتشار بسته به CodeArtifact

من خود را به روز کردم pom.xml برای گنجاندن distributionManagement:


  
    nextwork-nextwork-devops-cicd
    https://nextwork-617439230997.d.codeartifact.us-east-1.amazonaws.com/maven/nextwork-devops-cicd/
  

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شرح تصویر
سپس ، من بسته را مستقر کردم:

mvn -s settings.xml deploy
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


پایان

این راهنما نحوه تنظیم یک مخزن CodeArtifact AWS ، یک نمونه EC2 را برای تأیید اعتبار با آن تنظیم کردم و با موفقیت یک بسته Maven را مستقر کردم. این فرآیند پایه و اساس ادغام مدیریت بسته در خط لوله CI/CD را تشکیل می دهد و از ارائه نرم افزار ایمن و مقیاس پذیر اطمینان می دهد.


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا