云效给个 node 构建 上传 oss 的模板。还有 java 构建 人工卡点 部署 sae 的模板吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效提供了丰富的模板库,您可以在模板库中搜索并使用相应的模板。以下是您需要的模板:
Node 构建上传 OSS 的模板:您可以在云效模板库中搜索 "Node.js 上传到 OSS",找到相应的模板并使用。
Java 构建人工卡点部署 SAE 的模板:您可以在云效模板库中搜索 "Java 人工卡点部署 SAE",找到相应的模板并使用。
以下是一个使用云效构建和上传Node.js应用到OSS的模板:
stages:
  - name: build
    tasks:
      - script:
          name: Install dependencies
          code: |
            npm install
      - script:
          name: Build application
          code: |
            npm run build
  - name: upload
    tasks:
      - oss:
          region: oss-region
          bucket: oss-bucket-name
          accessKeyId: $ACCESS_KEY_ID
          accessKeySecret: $ACCESS_KEY_SECRET
          source: dist/
          target: node-app/
请根据实际情况修改以下参数:
oss-region:替换为你的OSS存储桶所在的地域,比如oss-cn-hangzhou。oss-bucket-name:替换为你的OSS存储桶的名称。$ACCESS_KEY_ID和$ACCESS_KEY_SECRET:替换为你的阿里云访问密钥ID和访问密钥Secret。这个模板包含两个阶段(stage):
build 阶段用于安装依赖并构建Node.js应用。你可以根据实际情况修改脚本中的命令。upload 阶段使用云效的 OSS 任务将构建产物(例如 dist/ 目录下的文件)上传到 OSS 存储桶中的 node-app/ 目录下。至于Java构建并部署到Serverless应用引擎(SAE)的模板,因为云效平台的不同版本和配置可能会有所不同,这里给出一个示例的配置文件供参考:
stages:
  - name: build
    tasks:
      - script:
          name: Build application
          code: |
            mvn clean install
  - name: deploy
    tasks:
      - sae-deploy:
          region: region-id
          accessKeyId: $ACCESS_KEY_ID
          accessKeySecret: $ACCESS_KEY_SECRET
          appName: my-sae-app
          jarFile: target/my-app.jar
          namespace: my-sae-namespace
          targetVersion: latest
请根据实际情况修改以下参数:
region-id:替换为你的SAE应用所在的地域,比如cn-hangzhou。$ACCESS_KEY_ID和$ACCESS_KEY_SECRET:替换为你的阿里云访问密钥ID和访问密钥Secret。my-sae-app:替换为你的SAE应用的名称。target/my-app.jar:替换为你的Java应用的构建产物路径。这个模板包含两个阶段:
build 阶段用于构建Java应用,这里使用了Maven作为示例构建工具。deploy 阶段使用云效的 SAE 任务将构建产物部署到指定的SAE应用中。Node.js构建vue工程发布到OSS
https://help.aliyun.com/document_detail/315401.html?spm=a2c4g.2264382.0.i5
Java应用构建并部署SAE
https://help.aliyun.com/document_detail/224596.html?spm=a2c4g.315401.0.i3
以下是有关 Node.js 构建上传 OSS 和 Java 构建部署 SAE 的简单示例。
Node.js 构建上传 OSS
Java 构建部署 SAE
node构建+OSS上传:
sources:
  my_repo:
    type: codeup
    name: 代码源名称
    endpoint: https://codeup.aliyun.com/abc/Codeup-Demo.git
    branch: master
    triggerEvents:
  - push
  - tagPush
certificate:
  type: serviceConnection
  serviceConnection: <your-service-connection-id>
stages:
  build_stage:
    name: 构建
    jobs:
      build_job:
        name: 构建任务
        runsOn: public/cn-beijing
        steps:
          node_build:
            step: NodeBuild
            name: Node.js 构建
            with:
              nodeVersion: "14.8"
              run: |
                npm install
          upload_step:
            step: OSSUpload
            name: OSS 上传
            with:
              serviceConnection: w37d6pt8u1ycwdtr
              region: cn-beijing
              bucket: my-bucket-name
              targetFilePath:
              sourceFilePath: .
              metas:
            - key: html
              value: Cache-Control:no-cache 
java构建+人工卡点+部署sae:
sources:
  public:
    type: codeup
    name: public
    endpoint: >-
      https://codeup.aliyun.com/63c65741b7b5ad66c79585da/spring-boot.git
    branch: master
    triggerEvents:
  - push
  - mergeRequestMerged
branchFilter: develop
certificate:
  type: serviceConnection
  serviceConnection: t14fgz5j7sgnqj4z
  my_dockerfile:
    type: codeup
    name: my_dockerfile
    endpoint: >-
      https://codeup.aliyun.com/63c65741b7b5ad66c79585da/Dockerfile.git
    branch: master
    certificate:
      type: serviceConnection
      serviceConnection: t14fgz5j7sgnqj4z
defaultWorkspace: public
stages:
  build_stage:
    name: 构建
    jobs:
      build_job:
        name: Java 镜像构建
        runsOn: public/cn-hongkong
        steps:
          java_build:
            step: JavaBuild
            name: Java 构建
            with:
              jdkVersion: "1.8"
              mavenVersion: "3.5.2"
              run: |
                mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip
          upload_step:
            step: ArtifactUpload       #步骤ArtifactUpload会上传生成artifact
            name: 构建物上传
            with:
              type: flowPublic
              artifact: default      #artifact名称default
              path:
            - target/
            - deploy.sh
  deploy_stage:
    name: 部署
    jobs:
      manul_job:
        name: 人工卡点任务
        component: ManualValidate
        with:
          validatorType: users           #验证者类型为企业成员,通过阿里云 ID 确定审核人员
          validateMethod: and
      #验证方式
      #and:会签(须所有审批人同意)
      #or:或签(一名审批人同意或拒绝即可)
      validators: 
        - <user_id_1>   #通过阿里云控制台获取阿里云 ID
        - <user_id_2>
  deploy_job:
    name: 阿里云 SAE 部署
    runsOn: public/cn-beijing
    component: SaeDeploy
    with:
      serviceConnection: <your-service-connection-id>
      region: cn-hangzhou
      namespace: <sae-namespace>
      application: <sae-application-id>
      artifact: $[stages.build_stage.build_job.upload_step.artifacts.default]
      deployStrategy: batch
      batchStrategy: auto
      batchNumber: 2
      batchWaitTime: 1 此回答整理自钉群“云效API反馈(外部用户)”
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。