Compare commits
31 commits
Author | SHA1 | Date | |
---|---|---|---|
|
0f6c2a5dcc | ||
|
f0b0fb958d | ||
|
def5427840 | ||
|
1e5c4d236d | ||
|
8f84454a84 | ||
|
67ed50a36f | ||
|
3860531bd4 | ||
|
52c65b54c2 | ||
|
e403015a30 | ||
|
60c5efe19b | ||
|
a7fbf02d7e | ||
|
82016d213b | ||
|
db0dde6251 | ||
|
b08e201a03 | ||
|
32ae618fd6 | ||
|
d48206f88c | ||
|
c356ddf7e3 | ||
|
07f901cd67 | ||
|
967aeb325a | ||
|
e6ebb0f9f4 | ||
|
67d5ddbae9 | ||
|
74a7137f00 | ||
|
01f730f648 | ||
|
ba17b46a01 | ||
|
0e5e5cc800 | ||
|
e25a682b3e | ||
|
c9675f5adf | ||
|
d86a6785f6 | ||
|
2dcf2ebebc | ||
|
90c3818d4a | ||
|
331dcaed69 |
5 changed files with 81 additions and 11 deletions
42
README.md
42
README.md
|
@ -1,3 +1,45 @@
|
|||
This repo shows examples how dda-devops-build (https://repo.prod.meissa.de/meissa/dda-devops-build) can be used.
|
||||
As a starting point, you may want to have a look at file [build.py](build.py) in this repo
|
||||
and the tasks which are defined in this file.
|
||||
|
||||
# Usage
|
||||
|
||||
## Examples
|
||||
|
||||
### Build
|
||||
|
||||
You can trigger the build-task by
|
||||
```
|
||||
pyb dev
|
||||
```
|
||||
|
||||
### Releases
|
||||
|
||||
With task `patch` you can create a patch-level release with one command, i.e. perform the following actions:
|
||||
* create a commit for a patch-leve release version
|
||||
* e.g. if current project version is 1.1.1-dev, the update version will be the release version 1.1.1
|
||||
* the commit contains all build files specified in the build.py (primary as well as secondary build files),
|
||||
where the primary build file contains the version number to be used for all build files
|
||||
* create a tag for the release commit (e.g. tag 1.1.1 for the corresponding commit)
|
||||
* a second commit for the next snapshot version (1.1.2-dev)
|
||||
* push both commits and the tag to the remote git repo
|
||||
|
||||
```
|
||||
pyb patch
|
||||
```
|
||||
|
||||
Similarly you can create a minor or major version with:
|
||||
|
||||
```
|
||||
pyb minor
|
||||
```
|
||||
resp.
|
||||
```
|
||||
pyb major
|
||||
```
|
||||
|
||||
|
||||
|
||||
# Release Testing
|
||||
## NoRelease
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ plugins {
|
|||
}
|
||||
|
||||
|
||||
version = "1.8.6-SNAPSHOT"
|
||||
version = "4.0.1-SNAPSHOT"
|
||||
group = "org.domaindrivenarchitecture.buildtest"
|
||||
|
||||
|
||||
|
|
44
build.py
44
build.py
|
@ -1,3 +1,4 @@
|
|||
import os
|
||||
from os import environ
|
||||
from pybuilder.core import task, init
|
||||
from ddadevops import *
|
||||
|
@ -6,11 +7,29 @@ name = "buildtest"
|
|||
MODULE = "release"
|
||||
PROJECT_ROOT_PATH = "."
|
||||
|
||||
version = "1.8.5-dev"
|
||||
version = "4.0.1-dev"
|
||||
|
||||
|
||||
@init
|
||||
def initialize(project):
|
||||
def initialize0(project):
|
||||
"""
|
||||
to avoid prompt for gopass if no artifacts need to be uploaded
|
||||
usage: with option "-E ng" , e.g. "pyb -E artifacts patch_local"
|
||||
"""
|
||||
os.environ["RELEASE_ARTIFACT_TOKEN"] = "dummy" # avoids prompt for RELEASE_ARTIFACT_TOKEN
|
||||
|
||||
|
||||
@init(environments=["artifacts"])
|
||||
def initialize1(project):
|
||||
"""
|
||||
prompt for gopass if no artifacts need to be uploaded
|
||||
usage: with option "-E artifacts" , e.g. "pyb -E artifacts patch_local"
|
||||
"""
|
||||
del os.environ["RELEASE_ARTIFACT_TOKEN"]
|
||||
|
||||
|
||||
@init
|
||||
def initialize2(project):
|
||||
input = {
|
||||
"name": name,
|
||||
"module": MODULE,
|
||||
|
@ -18,8 +37,8 @@ def initialize(project):
|
|||
"project_root_path": PROJECT_ROOT_PATH,
|
||||
"build_types": [],
|
||||
"mixin_types": ["RELEASE"],
|
||||
"release_primary_build_file": "build.py",
|
||||
"release_secondary_build_files": ["package.json", "project.clj", "build.gradle", "build_to_test.py"],
|
||||
"release_primary_build_file": "build_to_test.py",
|
||||
"release_secondary_build_files": ["package.json", "project.clj", "build.gradle", "build.py"],
|
||||
"release_artifacts": ["README.md"],
|
||||
"release_artifact_server_url": "https://repo.prod.meissa.de",
|
||||
"release_organisation": "meissa",
|
||||
|
@ -27,7 +46,6 @@ def initialize(project):
|
|||
}
|
||||
|
||||
project.build_depends_on("ddadevops>=4.10.7")
|
||||
|
||||
build = ReleaseMixin(project, input)
|
||||
build.initialize_build_dir()
|
||||
|
||||
|
@ -36,17 +54,27 @@ def initialize(project):
|
|||
def patch(project):
|
||||
"""
|
||||
updates version to next patch level, creates a tag, creates new SNAPSHOT version,
|
||||
commits primary build file (build.gradle) and pushes to remote
|
||||
commits build files (primary and secondary) and pushes to remote
|
||||
"""
|
||||
linttest(project, "PATCH")
|
||||
release(project)
|
||||
|
||||
|
||||
@task
|
||||
def patch_local(project):
|
||||
"""
|
||||
updates version to next patch level,
|
||||
commits build files (primary and secondary), DOES NOT push to remote
|
||||
"""
|
||||
linttest(project, "PATCH")
|
||||
prepare(project)
|
||||
|
||||
|
||||
@task
|
||||
def minor(project):
|
||||
"""
|
||||
updates version to next minor level, creates a tag, creates new SNAPSHOT version,
|
||||
commits primary build file (build.gradle) and pushes to remote
|
||||
commits build files (primary and secondary) and pushes to remote
|
||||
"""
|
||||
linttest(project, "MINOR")
|
||||
release(project)
|
||||
|
@ -56,7 +84,7 @@ def minor(project):
|
|||
def major(project):
|
||||
"""
|
||||
updates version to next major level, creates a tag, creates new SNAPSHOT version,
|
||||
commits primary build file (build.gradle) and pushes to remote
|
||||
commits build files (primary and secondary) and pushes to remote
|
||||
"""
|
||||
linttest(project, "MAJOR")
|
||||
release(project)
|
||||
|
|
|
@ -33,7 +33,7 @@ default_task = "dev"
|
|||
name = "ddadevops"
|
||||
MODULE = "not-used"
|
||||
PROJECT_ROOT_PATH = "."
|
||||
version = "1.8.6-dev"
|
||||
version = "4.0.1-dev"
|
||||
summary = "tools to support builds combining gopass, terraform, dda-pallet, aws & hetzner-cloud"
|
||||
description = __doc__
|
||||
authors = [Author("meissa GmbH", "buero@meissa-gmbh.de")]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "c4k-jira",
|
||||
"description": "Generate c4k yaml for a jira deployment.",
|
||||
"author": "meissa GmbH",
|
||||
"version": "1.8.6-SNAPSHOT",
|
||||
"version": "4.0.1-SNAPSHOT",
|
||||
"homepage": "https://gitlab.com/domaindrivenarchitecture/c4k-jira#readme",
|
||||
"repository": "https://www.npmjs.com/package/c4k-jira",
|
||||
"license": "APACHE2",
|
||||
|
|
Loading…
Reference in a new issue