Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs CI CD #1785

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Docs CI CD #1785

wants to merge 3 commits into from

Conversation

f1sh1918
Copy link
Contributor

Short description

I added some docs for ci/cd because we mostly finished that milestone.
I copied the structure from integreat and adjusted and added some parts.

Proposed changes

  • add documentation for ci/cd
  • rename productions setup to manual release and remove some deprecated information
  • rename workflows to have a common syntax

Side effects

  • some workflows may not be triggered, since some renamings were wrong. Check the parameters in each workflow and @common.yml

@ztefanie and @steffenkleinle maybe you could double check variables and dependencies section. I probably forgot sth or did not adjust properly
I hope that helps you to trigger release and make troubleshooting

…ease, adjust workflow names to have same syntax.
Copy link
Member

@ztefanie ztefanie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding documentation 👍 💯

@@ -12,10 +12,10 @@ parameters:
default: "run_if_on_main"
type: enum
enum: ["run_if_on_main", "run", "skip"]
run_deliver_beta_backend_administration:
run_delivery_beta_backend_administration:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously all workflows were named consistently:
run_[verb]_[beta/prodcution]_[plattform]

Now you changed the ´deliver´ to delivery and it is the only workflow that has inconsistent naming. I suggest to undo this change

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not all workflows were named consistently.
There were deliver and delivery
For integreat we also use delivery, so i thought we may also use it here. I think run(verb) and delivery (noun) is also valid tbh

docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated
| CREDENTIALS_KEYSTORE_PATH | Path to the OpenSSL AES256-CBC encrypted Java Keystore file | - | /home/circleci/credentials/<secret>.enc | Look for the `openssl enc` command in the Android Fastlane file for more information |
| KEYSTORE_PATH | Path to the decrypted Java Keystore file | - | /home/circleci/keystore.jks | - |
| CREDENTIALS_KEYSTORE_PASSWORD | Password for decrypting the keystore using OpenSSL | | password | - |
| KEYSTORE_KEY_ALIAS | Alias of the key within the Java Keystore | You should look in the JKS file using `keytool -list -v -keystore <jks>` | my-key | - |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is specific per project and the env variables are called this:
KEYSTORE_KEY_ALIAS_BAYERN
KEYSTORE_KEY_ALIAS_NUERNBERG
KEYSTORE_KEY_ALIAS_KOBLENZ
KEYSTORE_KEY_PASSWORD_BAYERN
KEYSTORE_KEY_PASSWORD_NUERNBERG
'KEYSTORE_KEY_PASSWORD_KOBLENZ

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx for the hint @ztefanie
Is there any documentation about the gpg encryption. I think i didn't do a manual release after you created a general jks file and encrypted it. Maybe you can add sth to the app-credentials repo or give me some input :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The password for this is in passbolt. The usage of this is simple with command line tools, e.g.
keytool -v -list -keystore /path/to/keystore for listing all keys in a jks, but you can also use UI tools like "keystore explorer", but they sometimes lack the support of multiple keys with different passwords. Check out this PR for discussion or my thoughts of restructung this: https://github.com/digitalfabrik/app-credentials/pull/1

The command (simply using the gpg comand line tool for this) for encrypting and decrypting can be can be found in the passbold note of these passwords or in the android/Fastfile: gpg --verbose --passphrase #{CREDENTIALS_KEYSTORE_PASSWORD} --pinentry-mode loopback -o ~/#{KEYSTORE_PATH} -d #{CREDENTIALS_KEYSTORE_PATH}"

docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/manual-release.md Outdated Show resolved Hide resolved
docs/manual-release.md Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants