برنامه نویسی

خط لوله CI/CD با استفاده از GitHub Actions

Summarize this content to 400 words in Persian Lang
در اینجا نحوه راه اندازی یک خط لوله ساده CI/CD برای پروژه Node.js با استفاده از آن آورده شده است اقدامات GitHub در ویندوز

پیش نیازها

حساب GitHub.

Node.js و npm نصب شده است.

Git بر روی سیستم شما نصب شده است.

مخزن GitHub برای پروژه Node.js شما.

مرحله 1: یک پروژه Node.js ایجاد کنید

یک پوشه جدید برای پروژه خود ایجاد کنید:

mkdir my-node-app
cd my-node-app
npm init -y

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

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

هر گونه وابستگی را نصب کنید، مانند اکسپرس (برای یک سرور اصلی):

npm install express –save

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

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

یک پایه ایجاد کنید server.js:

const express = require(‘express’);
const app = express();

app.get(‘/’, (req, res) => {
res.send(‘Hello, CI/CD Pipeline with GitHub Actions!’);
});

app.listen(3000, () => {
console.log(‘Server is running on port 3000’);
});

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

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

الف را تعریف کنید test اسکریپت در package.json (تست های مناسب را بعدا اضافه خواهیم کرد):

“scripts”: {
“start”: “node server.js”,
“test”: “echo \”No test specified\” && exit 0″
}

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

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

مرحله 2: مخزن GitHub را راه اندازی کنید

پروژه Node.js خود را به GitHub فشار دهید:

git init
git remote add origin https://github.com/yourusername/your-node-app.git
git add .
git commit -m “Initial commit”
git push -u origin master

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

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

مرحله 3: اقدامات GitHub را تنظیم کنید

به مخزن GitHub خود بروید و روی آن کلیک کنید اقدامات برگه
کلیک کنید خودتان یک گردش کار تنظیم کنید یا انتخاب کنید Node.js قالب گردش کار
یک فایل جدید با نام ایجاد کنید .github/workflows/nodejs.yml در مخزن شما با محتوای زیر:

name: Node.js CI

on:
push:
branches:
– master
pull_request:
branches:
– master

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [14, 16]

steps:
– name: Checkout repository
uses: actions/checkout@v3

– name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

– name: Install dependencies
run: npm install

– name: Run tests
run: npm test

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

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

توضیح:

on: هنگامی که کد فشار داده می شود یا یک درخواست کشش به آن ارسال می شود، گردش کار را فعال می کند master شاخه

jobs: تعریف می کند build شغل

runs-on: از یک ماشین اوبونتو برای کار استفاده می کند.

strategy.matrix.node-version: کار را برای چندین نسخه Node.js (در این مورد 14 و 16) اجرا می کند.

steps: مراحل خط لوله را تعریف می کند:

مخزن را بررسی کنید.

Node.js را راه اندازی کنید با استفاده از نسخه های مشخص شده

وابستگی ها را نصب کنید با دویدن npm install.

تست ها را اجرا کنید با اجرا npm test.

مرحله 4: تغییرات را متعهد و فشار دهید

جدید را متعهد کنید .github/workflows/nodejs.yml فایل و آن را به GitHub فشار دهید:

git add .github/workflows/nodejs.yml
git commit -m “Add GitHub Actions workflow”
git push origin master

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

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

مرحله 5: خط لوله را در GitHub مشاهده کنید

به مخزن GitHub خود بروید.
بر روی کلیک کنید اقدامات برگه، و خط لوله در حال اجرا را خواهید دید.
کد را آزمایش می کند و وابستگی ها را روی Node.js نسخه های 14 و 16 نصب می کند.

مرحله 6: (اختیاری) تست ها را اضافه کنید

برای مفیدتر کردن خط لوله، می‌توانید آزمایش‌های واقعی را با استفاده از آن اضافه کنید موکا یا است.

مثال با موکا:

Mocha و Chai را برای آزمایش نصب کنید:

npm install mocha chai –save-dev

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

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

ایجاد یک test پوشه با a test.js فایل:

const chai = require(‘chai’);
const expect = chai.expect;

describe(‘Sample Test’, () => {
it(‘should return true’, () => {
expect(true).to.be.true;
});
});

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

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

را به روز کنید test اسکریپت در package.json:

“scripts”: {
“start”: “node server.js”,
“test”: “mocha”
}

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

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

اکنون، هنگامی که خط لوله اجرا می شود، مجموعه آزمایشی را با استفاده از موکا اجرا می کند.

مرحله 7: (اختیاری) استقرار به Heroku (مثال ساده)

شما می توانید استقرار را به خدماتی مانند خودکار انجام دهید هروکو در deploy بعد از قبولی در آزمون های شما قدم بردارید

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

Heroku CLI را نصب کنید و وارد شوید:

npm install -g heroku
heroku login

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

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

در گردش کار خود، یک مرحله استقرار را پس از آزمایش‌ها اضافه کنید:

– name: Deploy to Heroku
run: |
heroku git:remote -a your-heroku-app
git push heroku master
env:
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}

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

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

شما باید خود را اضافه کنید کلید API Heroku به اسرار مخزن GitHub شما. رفتن به تنظیمات > اسرار > اقدامات و اضافه کنید HEROKU_API_KEY.

نتیجه گیری

اکنون با استفاده از یک خط لوله ساده CI/CD راه اندازی کرده اید اقدامات GitHub برای یک برنامه Node.js. این گردش کار وابستگی ها را نصب می کند، آزمایش ها را اجرا می کند و می تواند برای استقرار برنامه شما در پلتفرم هایی مانند هروکو، AWS، یا Netlify.

در اینجا نحوه راه اندازی یک خط لوله ساده CI/CD برای پروژه Node.js با استفاده از آن آورده شده است اقدامات GitHub در ویندوز

پیش نیازها

  1. حساب GitHub.
  2. Node.js و npm نصب شده است.
  3. Git بر روی سیستم شما نصب شده است.
  4. مخزن GitHub برای پروژه Node.js شما.

مرحله 1: یک پروژه Node.js ایجاد کنید

  1. یک پوشه جدید برای پروژه خود ایجاد کنید:
   mkdir my-node-app
   cd my-node-app
   npm init -y
وارد حالت تمام صفحه شوید

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

  1. هر گونه وابستگی را نصب کنید، مانند اکسپرس (برای یک سرور اصلی):
   npm install express --save
وارد حالت تمام صفحه شوید

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

  1. یک پایه ایجاد کنید server.js:
   const express = require('express');
   const app = express();

   app.get('/', (req, res) => {
     res.send('Hello, CI/CD Pipeline with GitHub Actions!');
   });

   app.listen(3000, () => {
     console.log('Server is running on port 3000');
   });
وارد حالت تمام صفحه شوید

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

  1. الف را تعریف کنید test اسکریپت در package.json (تست های مناسب را بعدا اضافه خواهیم کرد):
   "scripts": {
     "start": "node server.js",
     "test": "echo \"No test specified\" && exit 0"
   }
وارد حالت تمام صفحه شوید

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

مرحله 2: مخزن GitHub را راه اندازی کنید

  1. پروژه Node.js خود را به GitHub فشار دهید:
   git init
   git remote add origin https://github.com/yourusername/your-node-app.git
   git add .
   git commit -m "Initial commit"
   git push -u origin master
وارد حالت تمام صفحه شوید

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

مرحله 3: اقدامات GitHub را تنظیم کنید

  1. به مخزن GitHub خود بروید و روی آن کلیک کنید اقدامات برگه
  2. کلیک کنید خودتان یک گردش کار تنظیم کنید یا انتخاب کنید Node.js قالب گردش کار
  3. یک فایل جدید با نام ایجاد کنید .github/workflows/nodejs.yml در مخزن شما با محتوای زیر:
   name: Node.js CI

   on:
     push:
       branches:
         - master
     pull_request:
       branches:
         - master

   jobs:
     build:
       runs-on: ubuntu-latest

       strategy:
         matrix:
           node-version: [14, 16]

       steps:
         - name: Checkout repository
           uses: actions/checkout@v3

         - name: Setup Node.js
           uses: actions/setup-node@v3
           with:
             node-version: ${{ matrix.node-version }}

         - name: Install dependencies
           run: npm install

         - name: Run tests
           run: npm test
وارد حالت تمام صفحه شوید

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

توضیح:

  • on: هنگامی که کد فشار داده می شود یا یک درخواست کشش به آن ارسال می شود، گردش کار را فعال می کند master شاخه
  • jobs: تعریف می کند build شغل

    • runs-on: از یک ماشین اوبونتو برای کار استفاده می کند.
    • strategy.matrix.node-version: کار را برای چندین نسخه Node.js (در این مورد 14 و 16) اجرا می کند.
    • steps: مراحل خط لوله را تعریف می کند:
    • مخزن را بررسی کنید.
    • Node.js را راه اندازی کنید با استفاده از نسخه های مشخص شده
    • وابستگی ها را نصب کنید با دویدن npm install.
    • تست ها را اجرا کنید با اجرا npm test.

مرحله 4: تغییرات را متعهد و فشار دهید

جدید را متعهد کنید .github/workflows/nodejs.yml فایل و آن را به GitHub فشار دهید:

git add .github/workflows/nodejs.yml
git commit -m "Add GitHub Actions workflow"
git push origin master
وارد حالت تمام صفحه شوید

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

مرحله 5: خط لوله را در GitHub مشاهده کنید

  1. به مخزن GitHub خود بروید.
  2. بر روی کلیک کنید اقدامات برگه، و خط لوله در حال اجرا را خواهید دید.
  3. کد را آزمایش می کند و وابستگی ها را روی Node.js نسخه های 14 و 16 نصب می کند.

مرحله 6: (اختیاری) تست ها را اضافه کنید

برای مفیدتر کردن خط لوله، می‌توانید آزمایش‌های واقعی را با استفاده از آن اضافه کنید موکا یا است.

مثال با موکا:

  1. Mocha و Chai را برای آزمایش نصب کنید:
   npm install mocha chai --save-dev
وارد حالت تمام صفحه شوید

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

  1. ایجاد یک test پوشه با a test.js فایل:
   const chai = require('chai');
   const expect = chai.expect;

   describe('Sample Test', () => {
     it('should return true', () => {
       expect(true).to.be.true;
     });
   });
وارد حالت تمام صفحه شوید

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

  1. را به روز کنید test اسکریپت در package.json:
   "scripts": {
     "start": "node server.js",
     "test": "mocha"
   }
وارد حالت تمام صفحه شوید

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

اکنون، هنگامی که خط لوله اجرا می شود، مجموعه آزمایشی را با استفاده از موکا اجرا می کند.

مرحله 7: (اختیاری) استقرار به Heroku (مثال ساده)

شما می توانید استقرار را به خدماتی مانند خودکار انجام دهید هروکو در deploy بعد از قبولی در آزمون های شما قدم بردارید

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

  1. Heroku CLI را نصب کنید و وارد شوید:
   npm install -g heroku
   heroku login
وارد حالت تمام صفحه شوید

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

  1. در گردش کار خود، یک مرحله استقرار را پس از آزمایش‌ها اضافه کنید:
   - name: Deploy to Heroku
     run: |
       heroku git:remote -a your-heroku-app
       git push heroku master
     env:
       HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
وارد حالت تمام صفحه شوید

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

شما باید خود را اضافه کنید کلید API Heroku به اسرار مخزن GitHub شما. رفتن به تنظیمات > اسرار > اقدامات و اضافه کنید HEROKU_API_KEY.

نتیجه گیری

اکنون با استفاده از یک خط لوله ساده CI/CD راه اندازی کرده اید اقدامات GitHub برای یک برنامه Node.js. این گردش کار وابستگی ها را نصب می کند، آزمایش ها را اجرا می کند و می تواند برای استقرار برنامه شما در پلتفرم هایی مانند هروکو، AWS، یا Netlify.

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

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

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

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