上一篇讲了 coding 的自动化 build exe 文件,这篇来说下使用 Github Actions 的持续集成功能来自动化构建我们的 exe 文件。由于上一篇中所用的测试脚本是我自用的,所以就没有放出来,这篇咱们来新建一个简单的测试脚本来体验自动化编译。

创建仓库

首先到 Github 上新建一个仓库

添加代码

然后将新建的仓库 clone 下来,添加我们的测试脚本,代码如下:

 import requests​r = requests.get('https://www.baidu.com')r.encoding = 'utf8'print(r.status_code)print(r.text[:17])input('pause')

因为要依赖 requests 库,所以要添加 requirements.txt 文件方便安装依赖。

提交更改

添加完文件后使用命令 git add . | git commit -m "add script" |git push 来 push 更改。

新建持续集成任务

点击 Actions 按钮,由于我们这里仍然使用上一篇文章使用过的 docker 镜像来编译我们的 exe 文件,所以我们这里建立一个自定义的 workflow 文件。点击右上角的按钮。

自定义持续集成任务

左边为 yml 文件,文件名可以自定义,Github 会自动运行其中定义的 job。

我们更改 yml 文件,修改成下面的代码

 # This is a basic workflow to help you get started with Actions​name: CI​# Controls when the action will run. Triggers the workflow on push or pull request# events but only for the master branchon:push:branches: [ master ]pull_request:branches: [ master ]​# A workflow run is made up of one or more jobs that can run sequentially or in paralleljobs:# This workflow contains a single job called "build"build:# The type of runner that the job will run onruns-on: ubuntu-latest​# Steps represent a sequence of tasks that will be executed as part of the jobsteps:# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it- uses: actions/checkout@v2​# Runs a single command using the runners shell- name: Run a one-line scriptrun: echo Hello, world!​# Runs a set of commands using the runners shell- name: Run a multi-line scriptrun: |echo Add other actions to build,echo test, and deploy your project.docker run -v $GITHUB_WORKSPACE:/src cdrx/pyinstaller-windows:latest 'pyinstaller -F --clean -y --dist ./ --workpath /tmp test2.py'zip -r $GITHUB_WORKSPACE/test2.zip $GITHUB_WORKSPACE/test2.exe- name: Create Releaseid: create_releaseuses: actions/create-release@v1env:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}with:tag_name: ${{ github.ref }}release_name: Release ${{ github.ref }}draft: falseprerelease: false- name: Upload Release Assetid: upload-release-assetuses: actions/upload-release-asset@v1env:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}with:upload_url: ${{ steps.create_release.outputs.upload_url }}asset_path: ${{ github.workspace }}/test2.zipasset_name: nainiu_upload.zipasset_content_type: application/zip

开始构建

点击右上角的 commit 按钮,刷新页面,Github 已经自动开始自动构建了。

结束构建

稍等一会,构建完成后,成功了,我们去 release 界面查看,发现我们已经创建了一个新的版本,并且也成功上传了对应的 zip 文件。

只是这里我们没有对本次 commit 添加 tag,所以没有版本号。

本篇文章所用到的 docker 镜像和上篇文章所用的一致,均为 这个

所以具体参数不再详细解释。

结语

Github Actions 和 coding 其实都用了同一个 docker 镜像,只是换了个平台,一些命令稍有些不一样。而且 Github 同样提供了 Windows 平台,可以通过 Windows 直接安装依赖,编译 exe 文件,不需要 docker。

但是 Windows 平台运行所需分钟数是 Linux 的两倍,所以选用 Linux 平台可以节省一些分钟数。当然了,如果是开源项目的话,那构建是完全免费的,没有每个月的限制。

以上就是本篇文章的全部内容。

pyintaller exe 后 print的内容 怎么体现_使用Github Actions自动化构建exe相关推荐

  1. python封装成exe后运行失败_Python的带pandas包的程序封装成exe 2018-01-11

    前言: 今天在网上看了很多教程,最后还是在运行pyinstaller命令行时解决 环境配置:python 2.7.9 32位,setuptools 19.2版,WIN 64位 1.安装PyInstal ...

  2. PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译

    ​ 在这里分享一些技巧和经验给大家.辛苦撰文分享,转载或引用请保留本文作者信息及文章链接. 作者的环境: win7+python3.5(anaconda3) 理论上,win7及以上的系统和python ...

  3. labview当前vi路径_对于LabVIEW程序为什么生成EXE后,涉及到路径的输出不正确了?...

    问题提出 使用LabVIEW编写应用程序时,相信很多小伙伴遇到过这样的问题,在VI程序中涉及到路径的问题时,比如在程序开始运行时,需要自动读取当前目录下某个文件的内容作为参数的初始配置,或者自动加载当 ...

  4. windows安装pgsql exe后开启服务sql shell(psql)登录

    windows按照pgsql exe后,cmd进入bin目录输入下面命令: pg_ctl.exe start -D "C:\Program Files\PostgreSQL\13\data& ...

  5. Unity3D中项目在Unity编辑器下正常运行打包成功exe后无法正常运行

    Unity3D中项目在Unity编辑器下正常运行打包成功exe后无法正常运行 一.遇到的情况描述: 项目中涉及到了文件读取的相关操作 项目在Unity下能够正常获取到文件信息并且不报错 项目能够成功打 ...

  6. LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题)

    LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题) 参考文章: (1)LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题) (2)https://www.cn ...

  7. 报错笔记:linux 命令行中的print输出内容无法重定向到文件中

    在命令行上跑一个python程序(执行时间很长),如果将输出直接重定向到命令行上,是会有输出的 但是如果我们将其重定向到一个文件中,可能很久都没有输出 原因在于python是有缓存输出的,所以不能暂时 ...

  8. Oracle分组后对分组内容重复 取第一个

    Oracle分组后对分组内容重复 的以另一列排序后 取第一个 语句 select * from( select a.grep, row_number() over (partition by a.gr ...

  9. html 形成打印数据,用HTMLTestRunner生成报告,无法打印print的内容

    我想既可以生成HTMLTestRunner测试报告,又可以在命令窗口print出文字来知晓当前脚本运行到具体哪一步. 可是没使用HTMLTestRunner生成报告的时候可以在命令窗口内打印print ...

最新文章

  1. 配置CentOS的网络环境
  2. python socket编程_Python Socket编程实现网络编程
  3. 实现织梦dedecms百度主动推送(实时)网页抓取
  4. web前端到底是什么?有前途吗
  5. flutter 日志输出,Flutter打印日志,flutter log,flutter 真机日志
  6. 复盘!12 小时清掉 3500 份生财日历
  7. eclipse SVN插件的缓存清理
  8. 生产环境下服务器台账
  9. CanBus的数据帧的获取和初始解析
  10. 电商后台管理系统分享
  11. 文电通:助力企业入局“无纸化办公”!
  12. android studio项目同步失败,java - 在android studio 3.2中Gradle项目同步失败 - 堆栈内存溢出...
  13. 视频追踪meanshift
  14. 树莓派4b 调整屏幕分辨率
  15. 网页版微信协议登陆,没什么用...
  16. Excel插件快捷键弹窗事件(VSTO+键盘钩子实现)
  17. 使用Sivarc使PLC程序标准化
  18. dell10代cpu装linux,戴尔10代cpu装win7系统及bios设置|戴尔十代cpu台式机装win7
  19. Arduino用超声波测距模块HC-SR04获得精确测量值——误差数据的排除
  20. mysql数据库select语句用法_mysql学习笔记之完整的select语句用法实例详解

热门文章

  1. Away3d学习笔记(1)
  2. es6 let和const命令(1)
  3. CCF2016.4 - C题
  4. swift:自定义UICollectionViewFlowLayout
  5. 请问诸位大神,Android怎么实现图片转动
  6. 如何在VB中使用正则表达式
  7. 重载操作符解析(原)
  8. SSD6中Exercise4 (substitute.cpp) 答案解析
  9. VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件
  10. sublime text3 中 python3编译出现中文乱码解决方法