dev/add-package-publisher #16
14
Jenkinsfile
vendored
14
Jenkinsfile
vendored
@ -21,9 +21,17 @@ node ('windows') {
|
||||
bat """pyinstaller --noconfirm --onefile --windowed "./main.py" """
|
||||
}
|
||||
|
||||
// Wrap Up - Archive the Generated Executables, Tear Down the Build System.
|
||||
stage('Archive/Teardown') {
|
||||
archiveArtifacts artifacts: "dist\\*.exe"
|
||||
// Wrap Up - Archive the Generated Executables
|
||||
stage('Archive') {
|
||||
// Provide Credentials to Upload to Gitea
|
||||
withCredentials([
|
||||
usernamePassword(credentialsId: 'gitea-jenkinsbot',
|
||||
usernameVariable: 'GITEA_USER',
|
||||
passwordVariable: 'GITEA_PASS')
|
||||
]) {
|
||||
// Publish the Latest
|
||||
bat "python publish_package.py"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -2,14 +2,19 @@
|
||||
*a tool to manage a library of computers for Potlatch Jr/Sr High School*
|
||||
|
||||
|
||||
### Build System:
|
||||
Builds are generated by Stanley Solutions Jenkins; they can be accessed here: [StanleySolutions Jenkins](https://jenkins.stanleysolutionsnw.com/job/Potlatch%20Loggers%20Organization/job/ComputerKeeper/)
|
||||
### Build System
|
||||
Builds are generated by Stanley Solutions Jenkins; they can be accessed here:
|
||||
[StanleySolutions Jenkins](https://jenkins.stanleysolutionsnw.com/job/Potlatch%20Loggers%20Organization/job/ComputerKeeper/)
|
||||
|
||||
| **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/) |
|
||||
|
||||
|
||||
### Built Resources
|
||||
Resulting EXE files built by Jenkins are archived as packages and can be found
|
||||
in the [repository packages](https://gitea.stanleysolutionsnw.com/Potlatch-Loggers/ComputerKeeper/packages).
|
||||
|
||||
## PyInstaller Command
|
||||
|
||||
```shell
|
||||
|
47
publish_package.py
Normal file
47
publish_package.py
Normal file
@ -0,0 +1,47 @@
|
||||
################################################################################
|
||||
"""
|
||||
Publish the EXE as a package to Gitea.
|
||||
"""
|
||||
################################################################################
|
||||
|
||||
import os
|
||||
import requests
|
||||
|
||||
OWNER = "Potlatch-Loggers"
|
||||
PKG_NAME = "ComputerKeeper-BUILD"
|
||||
PKG_VERSION = "latest"
|
||||
FILE_NAME = "main.exe"
|
||||
|
||||
AUTH_USER = os.getenv("GITEA_USER")
|
||||
AUTH_PASS = os.getenv("GITEA_PASS")
|
||||
|
||||
HOST = "https://gitea.stanleysolutionsnw.com"
|
||||
|
||||
def main():
|
||||
"""Attempt Deleting the Package, then Add the New Package with File."""
|
||||
s = requests.Session()
|
||||
s.auth = (AUTH_USER, AUTH_PASS)
|
||||
# Delete Package
|
||||
try:
|
||||
print("Deleting...")
|
||||
result = s.delete(
|
||||
f"{HOST}/api/packages/{OWNER}/generic/{PKG_NAME}/{PKG_VERSION}"
|
||||
)
|
||||
result.raise_for_status()
|
||||
# pylint: disable=broad-except
|
||||
except Exception:
|
||||
# Intentionally Overlook Issues Here
|
||||
print("No package to delete.")
|
||||
# Add New Package
|
||||
print("Adding new package...")
|
||||
result = s.put(
|
||||
(
|
||||
f"{HOST}/api/packages/{OWNER}/generic/{PKG_NAME}/{PKG_VERSION}/" +
|
||||
FILE_NAME
|
||||
),
|
||||
data=open(f"dist/{FILE_NAME}", 'rb').read(),
|
||||
)
|
||||
result.raise_for_status()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue
Block a user