תרגיל - יצירת פעולת GitHub לבניית תמונת גורם מכיל
ביחידה זו, עליך להשלים את המשימות הבאות:
- צור פעולת GitHub כדי ליישם צינור של גירסת Build.
- שנה את קוד שירות השובר כדי להפעיל את זרימת העבודה של גירסת ה- Build.
- נטר את התקדמות זרימת העבודה של גירסת ה- Build בזמן אמת.
יצירת פעולת ה- Build
קוד YAML בהליך זה מגדיר פעולת GitHub ש:
- גורם מפעיל כאשר ביצוע נדחף לקוד המקור או ליחידה של שירות השובר בענף
mainהשובר. - הגדרת משתני סביבה ספציפיים לשלבים.
- בעל משימה אחת, או קבוצת שלבים הפועלים באותו רץ זרימת עבודה, בשם
Build and push image to ACR.
Important
ההפעלת תנאים וממצאים אחרים של פעולות או זרימות עבודה של GitHub תלויים באפליקציות ובסביבות. לקלות הבנה, הפרטים נשמרים פשוטים בדוגמה זו. הן גירסת ה- Build והן זרימות העבודה של הפריסה מסופות לשינויים בשירות המוצר מכיוון שכל המיקרו-שרתים נשמרים במאגר יחיד. בתרחיש ייצור בפועל, כל מיקרו-שרת יישמר במאגר נפרד משלו.
בצע את השלבים הבאים כדי ליצור את פעולת ה- Build של פעולות GitHub:
עבור אל המאגר המפוצל שלך ב- GitHub ובחר את הכרטיסייה Actions .
בדף Get started with GitHub Actions, בחר את set up a workflow yourself הקישור.
בדף הבא, הדבק את קוד YAML הבא בעורך.
name: Build and deploy an app to AKS on: push: branches: ["main"] workflow_dispatch: env: # Local environment variables used later in the workflow AZURE_CONTAINER_REGISTRY: 'name of your Azure Container Registry' CONTAINER_NAME: 'productservice' RESOURCE_GROUP: 'rg-eshop' CLUSTER_NAME: 'aks-eshop' DEPLOYMENT_MANIFEST_PATH: './product.yml' DOCKER_PATH: './DockerfileProducts.acr' jobs: buildImage: permissions: contents: read id-token: write runs-on: ubuntu-latest steps: # Checks out the repository this file is in - uses: actions/checkout@v3 # Logs in with your Azure credentials stored in GitHub secrets - name: Azure login uses: azure/login@v1.4.6 with: creds: '${{ secrets.AZURE_CREDENTIALS }}' # Builds and pushes an image up to your Azure Container Registry - name: Build and push image to ACR run: | az acr build --file ${{ env.DOCKER_PATH }} --image ${{ env.AZURE_CONTAINER_REGISTRY }}.azurecr.io/${{ env.CONTAINER_NAME }}:${{ github.sha }} --registry ${{ env.AZURE_CONTAINER_REGISTRY }} -g ${{ env.RESOURCE_GROUP }} .החלף השם של Azure Container Registry בשם ACR שיצרת ביחידה הקודמת; לדוגמה, acseshop186748394.
החלף את שם הקובץ main.yml זרימת העבודה המהווה ברירת azure-kubernetes-service.ymlולאחר מכן בחר Commit changes.
במסך Commit changes , בחר ולאחר Commit directly to the main branchמכן בחר Commit changes.
סיימת ליצור את זרימת העבודה של גירסת ה- Build עבור צינור ה- CI/CD שלך.
במסוף שלך, הפעל פקודה זו כדי להציג את הגירסאות הנוכחיות של שירות המוצר המאוחסן ב- ACR:
az acr repository show-tags -n AZURE_CONTAINER_REGISTRY --repository productservice --orderby time_desc --output tableהחלפת AZURE_CONTAINER_REGISTRY בשם ה-ACR שלך, אתה אמור לראות פלט דומה להודעה הבאה:
Result ---------------------------------------- v1
הפעל את גירסת ה- Build
זרימת העבודה של גירסת ה- Build מופעלת באופן אוטומטי ברגע שאתה מבצע את קובץ זרימת העבודה. באפשרותך גם להפעיל את גירסת ה- Build באופן ידני.
- במאגר, בחר את הכרטיסיה Actions שלך.
- בצד ימין, תחת All workflows, בחר את Build and deploy an app to AKS זרימת העבודה ולאחר מכן בחר Run workflow.
ניטור גירסת ה- Build
כדי להציג התקדמות בזמן אמת של גירסת ה- Build:
במאגר, בחר את הכרטיסיה Actions שלך.
בחר את ההפעלה העדכנית ביותר של זרימת העבודה המפורטת עבור זרימת Build and deploy an app to AKS העבודה העדכנית ביותר. שם ההפעלה הוא הודעת ה- commit שבה השתמשת בשלב הקודם.
בחר את buildImage העבודה.
אם תמתין מספר דקות, השלבים במשימה אמורים להסתיים בהצלחה.
במסוף שלך, הפעל שוב פקודה זו כדי להציג את הגירסאות של שירות המוצר המאוחסן ב- ACR.
az acr repository show-tags -n AZURE_CONTAINER_REGISTRY --repository productservice --orderby time_desc --output tableאתה אמור לראות פלט דומה לזה שמציג גירסת תמונה חדשה נוספה ל- ACR מזרימת העבודה של GitHub:
Result ---------------------------------------- 8c75edb7a349ec570bd4eac397015bc3c547186e v1