Browse Source

drone 测试

liql 2 years ago
parent
commit
b6b79d5984
2 changed files with 45 additions and 2 deletions
  1. 41 0
      drone.yml
  2. 4 2
      package.json

+ 41 - 0
drone.yml

@@ -0,0 +1,41 @@
+kind: pipeline # 定义对象类型,还有secret和signature两种类型
+type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
+name: veterans_company # 定义流水线名称
+
+steps: # 定义流水线执行步骤,这些步骤将顺序执行
+  - name: package # 流水线名称
+    image: node:16.19.0-bullseye-slim # 定义创建容器的Docker镜像
+    volumes: #将容器内目录挂载到宿主机,仓库需要开启Trusted设置
+      - name: node-cache
+        path: /drone/src/node_modules
+      - name: node-build
+        path: /tmp
+    commands: # 定义在Docker容器中执行的shell命令
+      - npm install --registry=https://registry.npmmirror.com/  # 应用打包命令
+      - npm run build:stage
+      - mkdir -p /tmp/veterans_company/dist
+      - cp -r dist/* /tmp/veterans_company/dist
+
+  - name: build-start
+    image: appleboy/drone-ssh # SSH工具镜像
+    settings:
+      host: 172.16.90.64 # 远程连接地址
+      username: root # 远程连接账号
+      password:
+        from_secret: 64_ssh_pw # 从Secret中读取SSH密码
+      port: 22 # 远程连接端口
+      command_timeout: 5m # 远程执行命令超时时间
+      script:
+        - mv /www/wwwroot/veterhCompany/ /tmp/$(uuidgen)
+        - mkdir -p /www/wwwroot/veterhCompany
+        - cp -r /mydata/node/build/veterans_company/dist/* /www/wwwroot/veterhCompany # 进入宿主机构建目录
+
+volumes:
+  # 定义流水线挂载目录,用于共享数据
+  - name: node-cache
+    host:
+      path: /mydata/node/cache
+  - name: node-build
+    # 从宿主机中挂载的目录
+    host:
+      path: /mydata/node/build

+ 4 - 2
package.json

@@ -3,8 +3,10 @@
   "version": "0.1.0",
   "private": true,
   "scripts": {
-    "serve": "vue-cli-service serve",
-    "build": "vue-cli-service build",
+    "dev": "vue-cli-service serve",
+    "build:prod": "vue-cli-service build",
+	"build:stage": "vue-cli-service build --mode staging",
+	"preview": "node build/index.js --preview",
     "lint": "vue-cli-service lint"
   },
   "dependencies": {