当前位置: 首页 > news >正文

在线制作手机网站镇江网站建设推广

在线制作手机网站,镇江网站建设推广,电脑可以做网站服务器么,哪个网站做ppt模板赚钱基于 minigram 实现小程序自动化构建 1. 引言 在小程序开发过程中,手动构建和发布是一个繁琐且容易出错的流程。为了解决这个问题,我们可以借助 Minigram 这个轻量级的小程序编译工具,实现自动化构建,提高开发效率。 2. Minigram 简介 Minigram 是一个 Node.js 版的小程序编…

基于 minigram 实现小程序自动化构建

1. 引言

在小程序开发过程中,手动构建和发布是一个繁琐且容易出错的流程。为了解决这个问题,我们可以借助 Minigram 这个轻量级的小程序编译工具,实现自动化构建,提高开发效率。

2. Minigram 简介

Minigram 是一个 Node.js 版的小程序编译工具,能够在不依赖微信开发者工具的情况下完成小程序的构建,适用于 CI/CD 场景。

2.1 主要功能

  • 代码压缩、混淆

  • 依赖解析与构建

  • 支持 CI/CD 集成

  • 支持 TypeScript、LESS/SASS 等预处理语言

 

3. 环境准备

在开始自动化构建之前,我们需要准备以下环境:

3.1 安装 Node.js 和 Minigram

确保本地安装了 Node.js,然后全局安装 Minigram:

npm install -g minigram

 

3.2 初始化小程序项目

如果已有小程序项目,可以跳过此步骤。

npx minigram init my-miniapp
cd my-miniapp

4. 实现小程序自动化构建

4.1 编写构建脚本

 

date
npm install
#npm install -g npm@latest
#npm install -g miniprogram-ci
miniprogram-ci \$action \--project ./project.config.json \--pp ./ \--pkp /opt/private.$appid.key \--appid $appid \--uv $version \--enable-es6 true \--enable-minify true \--compile-condition '{}' \--disable-dev-tools true \--qrcode-format image \--qrcodeOutputDest ./qrcode.jpg \--verbose/data/soft/ossutil-v1.7.19-linux-amd64/ossutil64 cp -f /data/jenkins/workspace/test-xcx-preview/qrcode.jpg oss://xxx-xxx/test-xcx/

 

import java.util.*;
import java.text.SimpleDateFormat;//构建结果
def buildResult = manager. getResult()//构建用户
def buildUser= manager.getEnvVariable("BUILD_USER")//项目名称
def jobName= manager.getEnvVariable("JOB_NAME")//构建结果页面
def buildUrl= manager.getEnvVariable("BUILD_URL")//构建说明
//def buildDes = manager.getEnvVariable("description")
def buildDes = manager.getEnvVariable("desc")//构建环境
def buildEnv= manager.getEnvVariable("version")//构建类型
def buildType= manager.getEnvVariable("action")//GIT分支
def gitBranch = manager.getEnvVariable("branch")manager.listener.logger.println("项目名称:"+ jobName)
manager.listener.logger.println("构建分支:"+ gitBranch)
manager.listener.logger.println("构建环境:"+ buildEnv)
manager.listener.logger.println("构建类型:"+ buildType)
manager.listener.logger.println("构建用户:"+ buildUser)
manager.listener.logger.println("构建结果:"+ buildResult)if(buildResult == "SUCCESS"){//解析蒲公英上传返回数据//ipa下载地址
ipaDownloadUrl = "https://www.pgyer.com/"+ manager.getEnvVariable("buildShortcutUrl")def timestamp = System.currentTimeMillis()def qrCodeUrl = "https://xxx-xxx.oss-cn-zhangjiakou.aliyuncs.com/test-xcx/qrcode.jpg?ts=${timestamp}"//ipa二维码ipaQrCode =  manager.getEnvVariable("buildQRCodeURL")//ipa应用程序包ipabuildIdentifier = manager.getEnvVariable("buildIdentifier")//ipa 版本号ipabuildVersion = manager.getEnvVariable("buildVersion")manager.listener.logger.println("ipa下载地址"+ipaDownloadUrl)  manager.listener.logger.println("ipa二维码地址:"+ipaQrCode) manager.listener.logger.println("ipa应用程序包名:"+ipabuildIdentifier)  manager.listener.logger.println("ipa版本号:"+ipabuildVersion)  dingding("小程序打包构建","### [ "+jobName+" ] 构建成功" +"\n\n构建分支:" + gitBranch + "\n\n构建类型:"+ buildType +"\n\n三端类型:" + "小程序" +"\n\n应用版本号:"+ buildEnv +"\n\n二维码图片:\n![二维码](${qrCodeUrl})" +"\n\n构建日期:" + getNowTime() + "构建 " + "\n\n构建用户:"+ buildUser +"\n\n查看详情:[项目地址]("+buildUrl+")")}else if(buildResult == "ABORTED"){dingding("test-xcx","### [ test-xcx ] 构建被终止\n" + " " + getNowTime() + " 终止\n\n[查看详情]("+buildUrl+")")}else{dingding("test-xcx","### [ test-xcx ] 构建失败\n分支:" + gitBranch + "\n\n" + " " + getNowTime() + " 构建\n\n[查看详情]("+buildUrl+")")}//发送钉钉消息

def dingding(p_title,p_text){manager.listener.logger.println("--------------------------"+p_title+p_text)def json= new groovy.json.JsonBuilder()json {msgtype "markdown"markdown {title p_titletext p_text}at {atMobiles([])isAtAll false}}manager.listener.logger.println("发送钉钉数据:"+json)def connection = new URL("https://oapi.dingtalk.com/robot/send?access_token=xxxxxxx").openConnection()connection.setRequestMethod('POST')connection.doOutput = trueconnection.setRequestProperty('Content-Type', 'application/json')def writer = new OutputStreamWriter(connection.outputStream)writer.write(json.toString());writer.flush()writer.close()connection.connect()def respText = connection.content.textmanager.listener.logger.println("钉钉返回结果:"+respText )
}//获取当前时间
def getNowTime(){def str = "";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Calendar lastDate = Calendar.getInstance();str = sdf.format(lastDate.getTime());return str;
}

 

http://www.mfbz.cn/news/284/

相关文章:

  • 个人网站搭建模拟感想爱站关键词
  • wordpress 500 阿里云seo外包品牌
  • 阿里云怎么做静态网站网络营销专业可以干什么工作
  • 现在的网站做多大尺寸的百度推广收费
  • 龙口做网站南京seo公司教程
  • 扬中贴吧网站关键词优化系统
  • 网站审核员做点啥广州百度推广排名优化
  • 临清网站建设排行榜百度
  • 外国网站 icp备案关键词查询网站的工具
  • 山东省春季高考网站建设试题网站优化外包找谁
  • 化妆品网站网页设计今日刚刚发生的军事新闻
  • 百度网站收入提交精准客户截流软件
  • 团购网站自个做百度软文推广怎样收费
  • 切图做网站武汉百度推广开户
  • wordpress 获取 图片说明seo网站
  • wordpress价格表单深圳关键词推广优化
  • wordpress默认titleseo关键词优化外包
  • 视频 收费 网站怎么做抖音十大搜索关键词
  • 自建设网站网络营销以什么为中心
  • 政府门户网站建设问题软文营销经典案例
  • 苍南规划建设局网站知乎关键词排名优化工具
  • 鹤壁高端网站建设信息推广平台
  • 想通过做威客网站上的任务来赚站内推广有哪些方式
  • 如何做网站授权网址百度竞价推广是什么
  • cpa做电影网站侵权吗网络营销课程个人感悟
  • 个人网站的设计与实现摘要在线crm
  • 建网站要注意的细节建站公司哪个好
  • 可以拿自己电脑做网站主机购物网站有哪些
  • 好的培训网站模板电脑系统优化软件十大排名
  • 嘉兴网红打卡景点seo建站是什么意思