taro-deploy를 사용하여 taro 애플릿을 자동으로 빌드하고 릴리스하는 방법에 대한 자세한 설명

coldplay.xixi
풀어 주다: 2020-09-16 16:52:33
앞으로
3448명이 탐색했습니다.

taro-deploy를 사용하여 taro 애플릿을 자동으로 빌드하고 릴리스하는 방법에 대한 자세한 설명

관련 학습 권장사항: WeChat 미니 프로그램 튜토리얼

taro를 사용하여 미니 프로그램 프로젝트를 개발하는 경우 taro-deploy를 사용하여 원클릭 자동 빌드 및 릴리스를 효율적으로 수행하는 것이 좋습니다.

왜 taro-deploy를 사용하나요?

Taro 미니 프로그램 개발자는 종종 다음과 같은 고충을 겪습니다. 코드를 개발하고 테스트용으로 게시한 후에는 다음과 같은 일련의 단계를 거쳐야 합니다(예: Alipay 및 WeChat 미니 프로그램 플랫폼 사용):

taro-deploy를 사용하여 taro 애플릿을 자동으로 빌드하고 릴리스하는 방법에 대한 자세한 설명

전체 과정은 거의 10분 정도 소요되며, 아직까지 수동 작업이 필요한 단계가 많이 있습니다. 이 독창적인 게시 방식은 매우 비효율적이라고 할 수 있습니다.

taro-deploy는 이러한 문제점을 해결하기 위해 등장했습니다. Alipay와 WeChat에서 제공하는 명령줄 도구를 통합하여 위 프로세스를 자동으로 완료합니다.

taro-deploy를 사용하면 개발자는 게시 및 테스트 시 두 단계만 수행하면 됩니다.

  1. taro-deploy 명령을 한 번 실행하세요
  2. 가서 차 한잔 마시고 휴식을 취하세요

빌드 및 릴리스가 완료된 후 , DingTalk에서 수집됩니다. 빌드 결과를 푸시할 때 프로세스 전반에 걸쳐 수동 개입이 필요하지 않습니다.

다음은 딩톡 푸시 메시지 화면입니다.

taro-deploy를 사용하여 taro 애플릿을 자동으로 빌드하고 릴리스하는 방법에 대한 자세한 설명

푸시 메시지에는 릴리스로 생성된 미니 프로그램의 QR 코드 외에도 빌드 머신, 빌드 브랜치, 프로젝트의 최근 git 커밋 로그 등도 함께 제공되는 것을 볼 수 있습니다. 포장 정보를 더욱 명확하게 만듭니다.

참고: git 커밋 로그는 현재 featfix 키워드로 시작하는 커밋만 표시합니다featfix 关键词开头的 commit

适合我用吗?

如果你

  1. 使用 Taro 框架开发小程序
  2. 需要支持微信和支付宝平台
  3. 想要自动化构建发布,不想手动操作
  4. 使用钉钉办公,开发和测试都在一个钉钉群里(这点不是必需的,没有钉钉也可以使用 taro-deploy,只是会多了一些手动操作)

那你就非常适合使用 taro-deploy 了。

怎么用?

Step 1 - 安装

npm i -g taro-deploy复制代码
로그인 후 복사

Step 2 - 平台相关的准备步骤

  1. 支付宝:参考官方文档,准备好私钥和 toolId。
  2. 微信:参考官方文档,准备好私钥

Step 3 - 创建钉钉机器人

参考官方文档创建钉钉机器人,安全设置记得选择“自定义关键词”并填上“小程序构建”即可。

创建完成后,会得到一个形如 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX

다음에 적합합니까? 내가 쓸까?

Taro 프레임워크를 사용하여 작은 프로그램을 개발하는 경우

WeChat 및 Alipay 플랫폼을 지원해야 하는 경우

빌드 및 릴리스를 자동화하고 싶지만 수동으로 수행하고 싶지 않은 경우

DingTalk Office를 사용하여 개발 및 테스트 모두 하나의 DingTalk 그룹에 있습니다(필수는 아닙니다. DingTalk 없이 taro-deploy를 사용할 수 있지만 수동 작업이 더 필요합니다)

그러면 taro-deploy를 사용하는 데 매우 적합합니다.

사용 방법은 무엇인가요?

1단계 - 설치

// deploy-config.js// 该文件应放在 Taro 项目的根目录下module.exports = {  // 构建结果的输出目录,该脚本产生的日志也会输出到这里
  outDir: './deploy-out',  // 微信相关配置
  weapp: {    // 如果为 false,则不会运行微信的构建流程
    enable: true,    // 这里填你们配置的 Taro 编译后微信程序包的输出路径
    projectPath: './dist/weapp',    // Step 2 里获得的私钥文件的存放路径
    keyPath: './weapp.key',    // 微信小程序 appId
    appId: 'wx82xxxxxx',    // 微信体验版图片地址
    // 与支付宝不同,不管上传多少个新版本,微信的体验版地址是一直不变的
    // 因此需要在这里配置该二维码图片的链接
    // 直接从微信公众平台上复制的体验版图片地址貌似无法在钉钉里正常展示
    // 建议转存到自己的 CDN 上,再将 cdn url 填到下面这里来
    qrcodeImageUrl: 'https://xxxcdn.con/image/weapp-exp-qrcode.jpg',    // 小程序版本号
    // 由于微信的命令行 sdk 不支持设置某个版本为体验版,要改设体验版需要在网页上手动操作
    // 所以只能曲线救国,先在网页上将本工具上传的版本设为体验版(找到 ci机器人1 上传的那个版本)
    // 然后每次上传都指定同一个版本号,以覆盖旧的版本,最终实现发布新体验版的效果
    version: '1.1.0',    // true 则将跳过编译阶段,即 taro build 命令,
    skipBuild: false,
  },  // 支付宝相关配置
  alipay: {    // 如果为 false,则不会运行支付宝的构建流程
    enable: true,    // 这里填你们配置的 Taro 编译后支付宝程序包的输出路径
    projectPath: './dist/alipay',    // Step 2 里获得的私钥文件的存放路径
    keyPath: './alipay.key',    // Step 2 里获得的 toolId
    toolId: 'f48xxx',    // 支付宝小程序 appId
    appId: '202xxx',    // true 则将跳过 taro build 命令,即编译阶段
    skipBuild: false,
  },  // 默认发体验版,填 false 则发布为预览版
  // 注意如果发布为预览版,需要实现 uploadImage 的函数,否则钉钉无法展示预览版的二维码
  isExperience: true,  // 是否在构建前运行 npm install
  npmInstall: false,  // 指定环境变量,会在编译阶段,即 taro build 的指令中注入指定的环境变量
  env: {    BUILD_ENV: 'test' // 仅作 demo,实际应填入你项目编译需要用的环境变量
  },  // Step 3 中获取的钉钉机器人 webhook url
  dingTalkUrl: 'https://oapi.dingtalk.com/robot/send?access_token=xxx',  // 如果你只需要构建发布体验版小程序,则可忽略以下函数
  // 如果你需要构建发布预览版小程序,则需要实现该函数,将本地二维码图片文件转换为图片链接,否则无法将预览版二维码推送到钉钉群里
  // 其中 objectName 形如 {platform}-{timestamp}.jpg,作为建议保存的文件名
  // filePath 为本地预览版二维码图片的路径
  uploadImage: async function(objectName, filePath) {    return ''
    // 如果你使用阿里云 oss 作 cdn,可以参考以下代码进行上传
    // const OSS = require('ali-oss')
    // const client = new OSS({
    //   region: 'oss-cn-xxx',
    //   accessKeyId: 'xxx',
    //   accessKeySecret: 'xxx',
    //   bucket: 'xxx',
    // })
    // await client.put(`preview/${objectName}`, filePath, {
    //   'Cache-Control': 'max-age=31536000'
    // })
    // return `https://xxx-oss-cdn.com/preview/${objectName}`
  }
}复制代码
로그인 후 복사

2단계 - 플랫폼 관련 준비 단계

Alipay: 공식 문서를 참조하고 개인 키와 도구 ID를 준비하세요.

WeChat: 공식 문서를 참고하고 개인 키를 준비하세요

3단계 - DingTalk 로봇 만들기

DingTalk 로봇을 만들려면 공식 문서를 참고하세요. 보안 설정 키워드"에서 "사용자 정의"를 선택하고 "미니 프로그램 구성"을 입력합니다.

생성이 완료되면 나중에 사용할 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX 형태의 웹훅 URL을 얻게 됩니다.

4단계 - 구성 파일 준비

Taro 프로젝트의 루트 디렉터리에 배포-config.js 파일을 만들고 다음 템플릿에 따라 내용을 입력합니다.

여기서 구성해야 하는 콘텐츠는 더 중요하며, 성공 또는 실패가 단번에 결정됩니다.

# cd 到你们的项目并运行taro-deploy复制代码
로그인 후 복사

5단계 - taro-deploy 실행

rrreee🎜그런 다음 DingTalk 로봇이 빌드 결과🎜🎜FAQ🎜🎜Q: 우리는 DingTalk Office를 사용하지 않습니다. taro-deploy를 어떻게 사용할 수 있나요? 🎜🎜A: taro-deploy는 현재 DingTalk 메시지 푸시만 지원합니다. 그렇지 않으면 평가판 버전의 자동화된 구축, 업로드 및 설정만 완료할 수 있지만 최종 푸시 단계는 완료할 수 없습니다. 다른 IM 도구를 푸시해야 하는 경우 직접 구현해 볼 수 있으며 PR을 제출해도 좋습니다. 🎜🎜Q: 프리뷰 버전을 출시할 때 uploadImage 기능을 구현하는 것이 왜 이렇게 번거롭나요? 🎜🎜A: Alipay 및 WeChat의 미리보기 버전은 로컬 QR 코드 이미지만 생성하므로 DingTalk 메시지에 로컬 QR 코드 이미지를 표시하려면 먼저 이미지를 CDN에 업로드한 다음 CDN 링크를 입력하면 됩니다. . DingTalk 메시지 템플릿을 입력하세요. 🎜🎜Q: WeChat 평가판이 출시된 후에도 여전히 오래된 이유는 무엇인가요? 🎜🎜A: WeChat 웹 콘솔로 이동하여 "ci Robot 1"이 업로드한 버전이 평가판 버전으로 설정되어 있는지 확인하세요. 🎜🎜Q: WeChat과 Alipay만 지원하나요? 🎜🎜A: Taro는 다양한 플랫폼을 지원하지만 taro-deploy는 현재 WeChat 및 Alipay의 자동 구성 및 출시만 지원합니다. 🎜🎜Q: ci로봇1이 업로드한 버전을 찾을 수 없나요? 🎜🎜A: 먼저 taro-deploy를 실행하세요. 업로드가 완료된 후 WeChat 애플릿 콘솔 웹페이지의 "버전 관리" 메뉴에서 찾을 수 있습니다. 🎜🎜Q: 이 도구에 버그가 있으면 미니 프로그램의 온라인 오작동이 발생합니까? 🎜🎜A: taro-deploy는 현재 미리보기 및 평가판 릴리스만 지원하며 프로덕션 버전 릴리스는 지원하지 않으며 프로덕션 환경에 영향을 미치지 않습니다. 🎜

Q: DingTalk 푸시 메시지의 내용을 사용자 정의하고 싶습니다

A: 현재 유연한 DingTalk 메시지 템플릿 구성이 없습니다. 필요한 경우 이 프로젝트를 포크하고 send-ding.js 파일을 사용자 정의할 수도 있습니다. PR을 제출하세요.


위 내용은 taro-deploy를 사용하여 taro 애플릿을 자동으로 빌드하고 릴리스하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:juejin.im
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿