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

English translation #47

Merged
merged 2 commits into from
Jul 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/manual-SNAPSHOT.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ jobs:
# pre release
###############
- name: Import GPG key
# GPG privat kulcs, ami armor-al exportalva (kezdete: '-----BEGIN PGP PRIVATE KEY BLOCK-----') ez az egesz tartalom base64 elkodolva, az betoltve a secrets tartalomnak
# dekodoljuk a base64 elkodolt privat kulcsot es betoltjuk
# GPG private key, which is exported with armor (beginning: '-----BEGIN PGP PRIVATE KEY BLOCK-----') this entire content is encoded in base64, and it is loaded into the secrets content
# we decode the base64 encoded private key and load it
run: |
mkdir -p ~/.gnupg/
echo "${{ secrets.GPG_SIGNING_KEY_GITHUB_TECHUSER }}" | base64 --decode > ~/.gnupg/private.key
gpg --import ~/.gnupg/private.key
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
# A tartalma egy PEM formatumos (kezdete: '-----BEGIN RSA PRIVATE KEY-----') SSH kulcs
# The content is an SSH key in PEM format (beginning: '-----BEGIN RSA PRIVATE KEY-----')
key: ${{ secrets.SSH_PRIVATE_KEY_GITHUB_TECHUSER }}
name: id_rsa # optional
known_hosts: ${{ secrets.KNOWN_HOSTS }} # jelenleg ures a tartalma
known_hosts: ${{ secrets.KNOWN_HOSTS }} # currently, its content is empty
# config: ${{ secrets.CONFIG }} # ssh_config; optional

- name: Configure GIT for signed commit
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
# no-cache: true
# files: |
# docker-compose.yml
# sorrendet nem tartja be
# does not maintain the order
# targets: base-release,curl-release,base-alpine-release,alpine-runner-release,nexus-download-builder,java11jre-release,java11-maven-builder,java11-galleon-builder,java17jre-release,java17-maven-builder,java17-galleon-builder,java21jre-release,java21-maven-builder,java21-galleon-builder
- name: docker buildx bake "#1"
uses: docker/bake-action@v4
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/manual-branch-RELEASE.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ jobs:
# pre release
###############
- name: Import GPG key
# GPG privat kulcs, ami armor-al exportalva (kezdete: '-----BEGIN PGP PRIVATE KEY BLOCK-----') ez az egesz tartalom base64 elkodolva, az betoltve a secrets tartalomnak
# dekodoljuk a base64 elkodolt privat kulcsot es betoltjuk
# GPG private key, which is exported with armor (beginning: '-----BEGIN PGP PRIVATE KEY BLOCK-----') this entire content is encoded in base64, and it is loaded into the secrets content
# we decode the base64 encoded private key and load it
run: |
mkdir -p ~/.gnupg/
echo "${{ secrets.GPG_SIGNING_KEY_GITHUB_TECHUSER }}" | base64 --decode > ~/.gnupg/private.key
gpg --import ~/.gnupg/private.key
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
# A tartalma egy PEM formatumos (kezdete: '-----BEGIN RSA PRIVATE KEY-----') SSH kulcs
# The content is an SSH key in PEM format (beginning: '-----BEGIN RSA PRIVATE KEY-----')
key: ${{ secrets.SSH_PRIVATE_KEY_GITHUB_TECHUSER }}
name: id_rsa # optional
known_hosts: ${{ secrets.KNOWN_HOSTS }} # jelenleg ures a tartalma
known_hosts: ${{ secrets.KNOWN_HOSTS }} # currently, its content is empty
# config: ${{ secrets.CONFIG }} # ssh_config; optional

# https://github.com/docker/setup-qemu-action
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/manual-main-RELEASE.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ jobs:
# pre release
###############
- name: Import GPG key
# GPG privat kulcs, ami armor-al exportalva (kezdete: '-----BEGIN PGP PRIVATE KEY BLOCK-----') ez az egesz tartalom base64 elkodolva, az betoltve a secrets tartalomnak
# dekodoljuk a base64 elkodolt privat kulcsot es betoltjuk
# GPG private key, which is exported with armor (beginning: '-----BEGIN PGP PRIVATE KEY BLOCK-----') this entire content is encoded in base64, and it is loaded into the secrets content
# we decode the base64 encoded private key and load it
run: |
mkdir -p ~/.gnupg/
echo "${{ secrets.GPG_SIGNING_KEY_GITHUB_TECHUSER }}" | base64 --decode > ~/.gnupg/private.key
gpg --import ~/.gnupg/private.key
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
# A tartalma egy PEM formatumos (kezdete: '-----BEGIN RSA PRIVATE KEY-----') SSH kulcs
# The content is an SSH key in PEM format (beginning: '-----BEGIN RSA PRIVATE KEY-----')
key: ${{ secrets.SSH_PRIVATE_KEY_GITHUB_TECHUSER }}
name: id_rsa # optional
known_hosts: ${{ secrets.KNOWN_HOSTS }} # jelenleg ures a tartalma
known_hosts: ${{ secrets.KNOWN_HOSTS }} # currently, its content is empty
# config: ${{ secrets.CONFIG }} # ssh_config; optional

- name: Configure GIT for signed commit
Expand Down Expand Up @@ -214,7 +214,7 @@ jobs:
git add .
git commit -a -m "${COMMIT_MESSAGE}"
echo next master branch version is $TARGET_BRANCH_NEXT_VERSION
# Ez a step az előzőeket pusholja a branch-be megadott branchre, és az mr-t a base-re írja ki.
# This step pushes the previous steps to the specified branch, and writes the merge request to the base.
- name: Create Pull Request
uses: peter-evans/[email protected]
with:
Expand Down
42 changes: 17 additions & 25 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,49 +4,41 @@

= docker-base dockerimages

A repository az icellmobilsoft-ban használt base docker image-k gyűjtését szolgálja,
hogy azonos alapon működjenek a projektek és azok buildjei.
The repository serves to collect the base Docker images used in icellmobilsoft so that the projects and their builds operate on a common basis.

A projekt részeit több részre osztható,
egymást kiegészítik.
Alapvetően 2 csoportja oszthatóak az image-k:
The parts of the project can be divided into multiple sections, complementing each other.
The images can basically be divided into 2 groups:

* *bases* - ezek azok az docker imagek,
melyeket a cél termékeknél base image-nek használunk.
Csak a feltétlenül szükséges funkció és tartalom lehet bennük.
* *builder* - tartalom hordozásra használjuk őket,
nem szabad base image-re használni.
A funkciója a buildelés, kompilálás, multi-stage dockerfile-ban van,
vagy akár gitlab runner használatban.
* *bases* - These are the Docker images we use as base images for the target products. They can only contain the absolutely necessary functions and content.
* *builder* - We use them for content delivery, and they should not be used as base images. Their function is for building, compiling, in multi-stage Dockerfiles, or even for GitLab runner usage.

== Projekt struktúra
== Project Structure

=== /dockerfile
Maga a dockerfile-ok gyűjtője.
Részletes leírása a létrehozott docker image-ről a FIXME[Docker Base Images] címen olvasható.
It serves as a collector of Dockerfiles.
The detailed description of the created Docker image can be found under the title FIXME[Docker Base Images].

=== /script
Általános scriptek, melyeket a dockerimage-k is felhasználnak,
de használhatóak önmagukban is.
General scripts used by Docker images, but also usable standalone.

== Fejlesztés
Mindent amit ehhez tudni kell az a következő parancs:
== Development
All you need to know for this is the following command:

[source,bash]
----
docker-compose -f <PATH>/docker-base/docker-compose.yml build
----
[IMPORTANT]
====
A release és docker push parancsot kizárólag a Github Actions-re kell bízni!
The release and docker push commands should be exclusively handled by GitHub Actions!
====

== Release
A release készítése Github Actions végzi.
Alapvetően 2 esetet kezelünk:
Creating releases is handled by GitHub Actions.
We basically handle 2 cases:

. *Major, Minor verzió* - fő verzió release, csak a *master branchből* keletkezhet.
. *Bugfix verzió* - csak *release branchből* keletkezhet.
. *Major, Minor version* - main version release, can only originate from the *master branch*.
. *Bugfix version* - can only originate from a *release branch*.

A hozzátartozó CI csak a megfelelő brancheknél jelenik meg.
The corresponding CI appears only on the appropriate branches.

8 changes: 4 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
version: "3.8"

# build inditas
# start build
# docker compose -f /PATH/docker-base/docker-compose.yml build --no-cache
# image belemaszas
# running Docker in interactive mode
# docker run --rm -it icellmobilsoft/base /bin/bash
# image inditasa
# start image
# docker run --rm icellmobilsoft/base
# label-ek ellenorzese
# checking labels
# docker inspect icellmobilsoft/base:1.0.0 | jq -r '.[0].Config.Labels'

services:
Expand Down
2 changes: 1 addition & 1 deletion dockerfile/builder/nexus-download/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ USER $SYSTEM_USER

WORKDIR $DOWNLOAD_DIR

# bejovo parameterek
# incoming parameters
ARG NEXUS_USER
ARG NEXUS_PASSWORD
ARG NEXUS_REPOSITORY_URL
Expand Down
132 changes: 66 additions & 66 deletions docs/dockerfiles/base-images.adoc
Original file line number Diff line number Diff line change
@@ -1,100 +1,100 @@
= base

* Image: `icellmobilsoft/base`
* Alapja: https://hub.docker.com/_/debian official LTS release
* Célja: Éles alkalmazások futtatása
* Használt *argumentum*:
** *BASE_IMAGE* - Alap image megadása, nincs default értéke.
** *USER_GID* - Létrehozott user groupjának gid-je (default `101`)
** *USER_UID* - Létrehozott user uid-je (default `101`)
** *SYSTEM_USER_DEFAULT* - Létrehozott user neve (default `icellmobilsoft`)
** *SYSTEM_USER_GROUP_DEFAULT* - Létrehozott user groupjának neve (default `icellmobilsoft`)
* Hozzáadott *ENV*:
** *$SYSTEM_USER* - Nem `root` user, akivel fut az image (default: `icellmobilsoft`)
** *$SYSTEM_USER_GROUP* - SYSTEM_USER linux csoportja (default: `icellmobilsoft`)
** *$HOME* - SYSTEM_USER home könytára (WORKDIR $HOME)
* Telepített programok: -

A image célja hogy létrehozzon egy system user-t akivel default fut az image.
* Base: https://hub.docker.com/_/debian official LTS release
* Purpose: Running production applications
* Used *argument*:
** *BASE_IMAGE* - Specifies the base image, it has no default value.
** *USER_GID* - The GID (Group ID) of the created user group (default `101`)
** *USER_UID* - The UID (User ID) of the created user (default `101`)
** *SYSTEM_USER_DEFAULT* - The name of the created user (default `icellmobilsoft`)
** *SYSTEM_USER_GROUP_DEFAULT* - The name of the created user group (default `icellmobilsoft`)
* Added *ENV*:
** *$SYSTEM_USER* - Non 'root' user with which the image runs (default: `icellmobilsoft`)
** *$SYSTEM_USER_GROUP* - The Linux group of the SYSTEM_USER (default: `icellmobilsoft`)
** *$HOME* - The home directory of the SYSTEM_USER (WORKDIR $HOME)
* Installed programs: -

The purpose of the image is to create a system user who runs the image by default.

= base-alpine

* Image: `icellmobilsoft/base-alpine`
* Alapja: https://hub.docker.com/_/alpine official release
* Célja: Fejlesztés különböző fázisaihoz egy toolsetet tartalmazó base image
* Használt *argumentum*:
** *BASE_IMAGE* - Alap image megadása, nincs default értéke.
** *USER_GID* - Létrehozott user groupjának gid-je (default `101`)
** *USER_UID* - Létrehozott user uid-je (default `101`)
** *SYSTEM_USER_DEFAULT* - Létrehozott user neve (default `icellmobilsoft`)
** *SYSTEM_USER_GROUP_DEFAULT* - Létrehozott user groupjának neve (default `icellmobilsoft`)
* Hozzáadott *ENV*:
** *$SYSTEM_USER* - Nem `root` user, akivel fut az image (default: `icellmobilsoft`)
** *$SYSTEM_USER_GROUP* - SYSTEM_USER linux csoportja (default: `icellmobilsoft`)
** *$HOME* - SYSTEM_USER home könytára (WORKDIR $HOME)

A image célja hogy létrehozzon egy system user-t akivel default fut az image.
* Base: https://hub.docker.com/_/alpine official release
* Purpose: A base image containing a toolset for various stages of development
* Used *argument*:
** *BASE_IMAGE* - Specifies the base image, it has no default value
** *USER_GID* - The GID (Group ID) of the created user group (default `101`)
** *USER_UID* - The UID (User ID) of the created user (default `101`)
** *SYSTEM_USER_DEFAULT* - The name of the created user (default `icellmobilsoft`)
** *SYSTEM_USER_GROUP_DEFAULT* - The name of the created user group (default `icellmobilsoft`)
* Added *ENV*:
** *$SYSTEM_USER* - Non 'root' user with which the image runs (default: `icellmobilsoft`)
** *$SYSTEM_USER_GROUP* - The Linux group of the SYSTEM_USER (default: `icellmobilsoft`)
** *$HOME* - The home directory of the SYSTEM_USER (WORKDIR $HOME)

The purpose of the image is to create a system user who runs the image by default.

= curl

* Image: `icellmobilsoft/base-curl`
* Alapja: `icellmobilsoft/base`
* Célja: éles alkalmazások futtatása
* Használt *argumentum*:
** *BASE_IMAGE* - Alap image megadása, nincs default értéke.
* Hozzáadott ENV: -
* Telepített programok:
* Base: `icellmobilsoft/base`
* Purpose: To run live applications
* Used *argument*:
** *BASE_IMAGE* - Specifies the base image, it has no default value
* Added *ENV*: -
* Installed programs:
** *curl*

Az image felhasználja és kibővíti a fenti <<base,base>> imaget `curl`-al.
The image uses and extends the above <<base,base>> image with `curl`.

= java11jre

* Image: `icellmobilsoft/base-java11jre`
* Alapja: `icellmobilsoft/base-curl`
* Célja: Java 11 LTS verzión való alaklmazás futtatása
* Használt *argumentum*:
** *BASE_IMAGE* - Alap image megadása, nincs default értéke.
** *JRE_TEMURIN_IMAGE* - Temurin java image melyből a jre részei vannak kimásolva a végső imagebe.
* Hozzáadott ENV:
** *JAVA_HOME* - Eredeti jre image-ben a java mappájának a helye (default `/opt/java/openjdk`) https://github.com/adoptium/containers/blob/main/11/jre/alpine/Dockerfile#L22[Temurin image-be definiált JAVA_HOME]
** *PATH* - Path kiegészítése a JAVA_HOM/bin -nel, hogy használható legyen a jre által nyújtott parancsok.
* Telepített programok:
* Base: `icellmobilsoft/base-curl`
* Purpose: Running applications on Java 11 LTS version
* Used *argument*:
** *BASE_IMAGE* - Specifies the base image, it has no default value
** *JRE_TEMURIN_IMAGE* - A Temurin Java image, from which the JRE parts are copied into the final image
* Added *ENV*:
** *JAVA_HOME* - The location of the java directory in the original JRE image (default `/opt/java/openjdk`) https://github.com/adoptium/containers/blob/main/11/jre/alpine/Dockerfile#L22[The JAVA_HOME defined in the Temurin image]
** *PATH* - Appending the PATH with JAVA_HOME/bin to make the commands provided by JRE usable
* Installed programs:
** *fontconfig*
** *fonts-dejavu*

Az image felhasználja és kibővíti a fenti <<curl,curl>> imaget `jre11`-gyel.
The image uses and extends the above <<curl,curl>> image with `jre11`.

= java17jre

* Image: `icellmobilsoft/base-java17jre`
* Alapja: `icellmobilsoft/base-curl`
* Célja: Java 17 LTS verzión való alaklmazás futtatása
* Használt *argumentum*:
** *BASE_IMAGE* - Alap image megadása, nincs default értéke.
** *JRE_TEMURIN_IMAGE* - Temurin java image melyből a jre részei vannak kimásolva a végső imagebe.
* Hozzáadott ENV:
** *JAVA_HOME* - Eredeti jre image-ben a java mappájának a helye (default `/opt/java/openjdk`) https://github.com/adoptium/containers/blob/main/17/jre/alpine/Dockerfile#L22[Temurin image-be definiált JAVA_HOME]
** *PATH* - Path kiegészítése a JAVA_HOM/bin -nel, hogy használható legyen a jre által nyújtott parancsok.
* Telepített programok:
* Base: `icellmobilsoft/base-curl`
* Purpose: Running applications on Java 17 LTS version
* Used *argument*:
** *BASE_IMAGE* - Specifies the base image, it has no default value
** *JRE_TEMURIN_IMAGE* - A Temurin Java image, from which the JRE parts are copied into the final image
* Added *ENV*:
** *JAVA_HOME* - The location of the java directory in the original JRE image (default `/opt/java/openjdk`) https://github.com/adoptium/containers/blob/main/17/jre/alpine/Dockerfile#L22[The JAVA_HOME defined in the Temurin image]
** *PATH* - Appending the PATH with JAVA_HOME/bin to make the commands provided by JRE usable
* Installed programs:
** *fontconfig*
** *fonts-dejavu*

Az image felhasználja és kibővíti a fenti <<curl,curl>> imaget `jre17`-gyel.
The image uses and extends the above <<curl,curl>> image with `jre17`.

= java21jre

* Image: `icellmobilsoft/base-java21jre`
* Alapja: `icellmobilsoft/base-curl`
* Célja: Java 21 LTS verzión való alaklmazás futtatása
* Használt *argumentum*:
** *BASE_IMAGE* - Alap image megadása, nincs default értéke.
** *JRE_TEMURIN_IMAGE* - Temurin java image melyből a jre részei vannak kimásolva a végső imagebe.
* Hozzáadott ENV:
** *JAVA_HOME* - Eredeti jre image-ben a java mappájának a helye (default `/opt/java/openjdk`) https://github.com/adoptium/containers/blob/main/21/jre/alpine/Dockerfile#L22[Temurin image-be definiált JAVA_HOME]
** *PATH* - Path kiegészítése a JAVA_HOM/bin -nel, hogy használható legyen a jre által nyújtott parancsok.
* Telepített programok:
* Base: `icellmobilsoft/base-curl`
* Purpose: Running applications on Java 21 LTS version
* Used *argument*:
** *BASE_IMAGE* - Specifies the base image, it has no default value
** *JRE_TEMURIN_IMAGE* - A Temurin Java image, from which the JRE parts are copied into the final image
* Added *ENV*:
** *JAVA_HOME* - The location of the java directory in the original JRE image (default `/opt/java/openjdk`) https://github.com/adoptium/containers/blob/main/21/jre/alpine/Dockerfile#L22[The JAVA_HOME defined in the Temurin image]
** *PATH* - Appending the PATH with JAVA_HOME/bin to make the commands provided by JRE usable
* Installed programs:
** *fontconfig*
** *fonts-dejavu*

Az image felhasználja és kibővíti a fenti <<curl,curl>> imaget `jre21`-gyel.
The image uses and extends the above <<curl,curl>> image with `jre21`.
Loading