iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
DevOps

一步步學DevOps:30天入門計劃系列 第 25

Day 25 Pipeline nodejs

  • 分享至 

  • xImage
  •  

Pipeline自動化Node.js應用程序的部署時,將Node.js應用程式(app.js)和package.json加入專案中,.gitlab-ci.yml設定檔加到專案根目錄。

app.js

const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
app.get('/', (req, res) => {
  res.send('Hello, World!');
});
app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

package.json

{
    "name": "your-node-app",
    "version": "1.0.0",
    "description": "A simple Node.js app",
    "main": "app.js",
    "scripts": {
        "start": "node app.js",
        "test": "echo \"Error:no test specified\" && exit 1"        
    },
    "dependencies": {
      "express": "^4.17.1"
    }
  }

.gitlab-ci.yml

stages:
  - build
  - test
  - deploy
before_script:
  - apt-get update -qy # 更新套件管理系統
  - apt-get install -y nodejs npm # 安裝Node.js和npm
  - npm install # 在執行任何階段之前安裝套件
build:
  stage: build
  script:
    - npm run start 

test:
  stage: test
  script:
    - npm test # 執行測試
deploy:
  stage: deploy
  script:
    - node app.js 
  only:
    - master # 只有當提交到master分支時才執行此

https://ithelp.ithome.com.tw/upload/images/20231009/20139800RY6KCQE4bU.png

ps. 這篇寫的有點敷衍了事,等鐵人完賽後再找空閒時間重新整理°


上一篇
Day 24 GitLab Runner
下一篇
Day 26 GitLab Merge Request
系列文
一步步學DevOps:30天入門計劃30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言