خط لوله 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 در ویندوز
پیش نیازها
- حساب 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
پوشه با atest.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.