Merge pull request 'Add Automation for Build System' (#15) from dev/build-system-enhancements into main
All checks were successful
Potlatch Loggers Organization/ComputerKeeper/pipeline/head This commit looks good

Reviewed-on: #15
This commit is contained in:
Joe Stanley 2022-11-07 03:10:57 +00:00
commit 34d3d96297
4 changed files with 60 additions and 5 deletions

6
.gitignore vendored
View File

@ -31,7 +31,11 @@ MANIFEST
# Usually these files are written by a python script from a template # Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it. # before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest *.manifest
*.spec #*.spec
# Normally, we wouldn't want these tracked - but here, we do!
# We need them, because the build-system will utilize them.
# See https://github.com/cdrx/docker-pyinstaller for more information.
# Joe Stanley - 09/04/2022
# Installer logs # Installer logs
pip-log.txt pip-log.txt

8
Jenkinsfile vendored
View File

@ -9,21 +9,21 @@
* Joe Stanley * Joe Stanley
******************************************************************************/ ******************************************************************************/
node ('master') { node ('windows') {
// Prep Stage - Clone the Repository and Configure System as Needed. // Prep Stage - Clone the Repository and Configure System as Needed.
stage('Prep') { stage('Prep') {
sh "echo nothing" checkout scm
} }
// Build Stage - Run the PyInstaller Steps to Generate an Executable. // Build Stage - Run the PyInstaller Steps to Generate an Executable.
stage('Build') { stage('Build') {
sh "echo \"build stage - todo\"" bat """pyinstaller --noconfirm --onefile --windowed "./main.py" """
} }
// Wrap Up - Archive the Generated Executables, Tear Down the Build System. // Wrap Up - Archive the Generated Executables, Tear Down the Build System.
stage('Archive/Teardown') { stage('Archive/Teardown') {
sh "echo teardown" archiveArtifacts artifacts: "dist\\*.exe"
} }
} }

View File

@ -8,3 +8,10 @@ Builds are generated by Stanley Solutions Jenkins; they can be accessed here: [S
| **Branch** | **Build Status** | | **Branch** | **Build Status** |
|------------|------------------| |------------|------------------|
| Main | [![Master Branch Build Status](https://jenkins.stanleysolutionsnw.com/buildStatus/icon?job=Potlatch+Loggers+Organization%2FComputerKeeper%2Fmain)](https://jenkins.stanleysolutionsnw.com/job/Potlatch%20Loggers%20Organization/job/ComputerKeeper/job/main/) | | Main | [![Master Branch Build Status](https://jenkins.stanleysolutionsnw.com/buildStatus/icon?job=Potlatch+Loggers+Organization%2FComputerKeeper%2Fmain)](https://jenkins.stanleysolutionsnw.com/job/Potlatch%20Loggers%20Organization/job/ComputerKeeper/job/main/) |
## PyInstaller Command
```shell
pyinstaller --noconfirm --onefile --windowed "./main.py"
```

44
main.spec Normal file
View File

@ -0,0 +1,44 @@
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(
['./main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='main',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)