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

Enhance deployment process by refactoring Makefiles and incorporating utility scripts #385

Closed
4 tasks done
placek opened this issue Mar 5, 2024 · 1 comment · Fixed by #386
Closed
4 tasks done

Comments

@placek
Copy link
Contributor

placek commented Mar 5, 2024

As a DevOps,

I want to refactor a deployment Makefile,

so that its betterdocumented and more managable.

Summary:

To ensure that the deployment process is easier to document, trace, and manage, incorporate all utility scripts used in deployment configurations into the current Makefile system.
Also split the existing bloated Makefile into several smaller, manageable Makefiles.

Acceptance Criteria:

  • All utility scripts that are currently used in the deployment process must be incorporated into the Makefile system without loss of functionality.
  • The main Makefile should be refactored into smaller, modular Makefiles based on logical grouping (e.g., deployment, testing, setup).
  • Documentation must be updated to reflect the changes in the Makefile structure and the incorporation of utility scripts, including usage examples.
  • Changes should be tested to ensure that the new Makefile structure does not introduce any regressions in the deployment process.
@placek placek self-assigned this Mar 5, 2024
placek added a commit that referenced this issue Mar 5, 2024
…ment efficiency

This commit reorganizes the build and deployment scripts by introducing
separate Makefiles for the backend and frontend components, along with
common utilities and informational targets. The new structure aims to
improve modularity, maintainability, and clarity of the deployment
process. Component-specific Makefiles handle Docker image construction
and deployment more effectively, while shared utilities and variables
are centralized for ease of use. Additionally, the update simplifies
Docker tag generation by incorporating it directly into the Makefiles,
eliminating the need for separate versioning scripts. The README has
been updated to guide users through the new deployment process.
placek added a commit that referenced this issue Mar 5, 2024
…stem

This commit eliminates the prepare-config.sh script, incorporating its
configuration preparation logic into the Makefile workflow with a new
config.mk file. This adjustment enhances the consistency of the
deployment process, aligning it with the modular Makefile approach. It
simplifies the management of configurations by dynamically generating
necessary files from templates, thereby improving the security and
maintainability of configuration secrets. Adjustments to related
Makefiles files have been made to accommodate these changes,
streamlining the entire configuration and deployment pipeline.
placek added a commit that referenced this issue Mar 5, 2024
This commit streamlines the deployment process by consolidating the
Docker Compose configurations into a single template file, which is then
dynamically adjusted by the Makefile based on specific deployment
environments. This enhancement reduces redundancy and facilitates easier
management of environment-specific settings. The transition involves
updating the `Makefile` and `config.mk` to support the generation of
Docker Compose files from the template, as well as modifying the
`README.md` to align with the new configuration approach. This change
marks a significant improvement in the deployment workflow, making it
more efficient and maintainable.
placek added a commit that referenced this issue Mar 5, 2024
…ment efficiency

This commit reorganizes the build and deployment scripts by introducing
separate Makefiles for the backend and frontend components, along with
common utilities and informational targets. The new structure aims to
improve modularity, maintainability, and clarity of the deployment
process. Component-specific Makefiles handle Docker image construction
and deployment more effectively, while shared utilities and variables
are centralized for ease of use. Additionally, the update simplifies
Docker tag generation by incorporating it directly into the Makefiles,
eliminating the need for separate versioning scripts. The README has
been updated to guide users through the new deployment process.
placek added a commit that referenced this issue Mar 5, 2024
…stem

This commit eliminates the prepare-config.sh script, incorporating its
configuration preparation logic into the Makefile workflow with a new
config.mk file. This adjustment enhances the consistency of the
deployment process, aligning it with the modular Makefile approach. It
simplifies the management of configurations by dynamically generating
necessary files from templates, thereby improving the security and
maintainability of configuration secrets. Adjustments to related
Makefiles files have been made to accommodate these changes,
streamlining the entire configuration and deployment pipeline.
placek added a commit that referenced this issue Mar 5, 2024
This commit streamlines the deployment process by consolidating the
Docker Compose configurations into a single template file, which is then
dynamically adjusted by the Makefile based on specific deployment
environments. This enhancement reduces redundancy and facilitates easier
management of environment-specific settings. The transition involves
updating the `Makefile` and `config.mk` to support the generation of
Docker Compose files from the template, as well as modifying the
`README.md` to align with the new configuration approach. This change
marks a significant improvement in the deployment workflow, making it
more efficient and maintainable.
placek added a commit that referenced this issue Mar 5, 2024
…ling

Optimized the build-and-deploy GitHub Actions workflow to streamline the
deployment process. Removed redundant `make docker-login` and `make
build-[backend|frontend]` steps, focusing directly on pushing the
pre-built Docker images with `make push-backend` and `make
push-frontend`. Added a crucial verification step to ensure the
deployment environment is properly defined, enhancing the reliability of
the deployment pipeline. This update ensures a more efficient and
error-resilient deployment process by minimizing unnecessary steps and
reinforcing environmental checks.
placek added a commit that referenced this issue Mar 5, 2024
Consolidated and streamlined the GitHub Actions workflow for deploying
the application by removing redundant build steps and focusing solely on
deployment tasks. This simplification entails a direct approach to
deploying the app, removing previous conditional steps for building
Docker images and checking environment existence. The workflow now
concentrates on setting up AWS credentials, SSH agent configuration, and
executing a singular deployment command. This change leads to a more
efficient, straightforward deployment process, enhancing the
maintainability and readability of the CI/CD pipeline.
placek added a commit that referenced this issue Mar 5, 2024
Consolidated and streamlined the GitHub Actions workflow for deploying
the application by removing redundant build steps and focusing solely on
deployment tasks. This simplification entails a direct approach to
deploying the app, removing previous conditional steps for building
Docker images and checking environment existence. The workflow now
concentrates on setting up AWS credentials, SSH agent configuration, and
executing a singular deployment command. This change leads to a more
efficient, straightforward deployment process, enhancing the
maintainability and readability of the CI/CD pipeline.
placek added a commit that referenced this issue Mar 5, 2024
Consolidated and streamlined the GitHub Actions workflow for deploying
the application by removing redundant build steps and focusing solely on
deployment tasks. This simplification entails a direct approach to
deploying the app, removing previous conditional steps for building
Docker images and checking environment existence. The workflow now
concentrates on setting up AWS credentials, SSH agent configuration, and
executing a singular deployment command. This change leads to a more
efficient, straightforward deployment process, enhancing the
maintainability and readability of the CI/CD pipeline.
placek added a commit that referenced this issue Mar 5, 2024
…ment efficiency

This commit reorganizes the build and deployment scripts by introducing
separate Makefiles for the backend and frontend components, along with
common utilities and informational targets. The new structure aims to
improve modularity, maintainability, and clarity of the deployment
process. Component-specific Makefiles handle Docker image construction
and deployment more effectively, while shared utilities and variables
are centralized for ease of use. Additionally, the update simplifies
Docker tag generation by incorporating it directly into the Makefiles,
eliminating the need for separate versioning scripts. The README has
been updated to guide users through the new deployment process.
placek added a commit that referenced this issue Mar 5, 2024
…stem

This commit eliminates the prepare-config.sh script, incorporating its
configuration preparation logic into the Makefile workflow with a new
config.mk file. This adjustment enhances the consistency of the
deployment process, aligning it with the modular Makefile approach. It
simplifies the management of configurations by dynamically generating
necessary files from templates, thereby improving the security and
maintainability of configuration secrets. Adjustments to related
Makefiles files have been made to accommodate these changes,
streamlining the entire configuration and deployment pipeline.
placek added a commit that referenced this issue Mar 5, 2024
This commit streamlines the deployment process by consolidating the
Docker Compose configurations into a single template file, which is then
dynamically adjusted by the Makefile based on specific deployment
environments. This enhancement reduces redundancy and facilitates easier
management of environment-specific settings. The transition involves
updating the `Makefile` and `config.mk` to support the generation of
Docker Compose files from the template, as well as modifying the
`README.md` to align with the new configuration approach. This change
marks a significant improvement in the deployment workflow, making it
more efficient and maintainable.
placek added a commit that referenced this issue Mar 5, 2024
…ling

Optimized the build-and-deploy GitHub Actions workflow to streamline the
deployment process. Removed redundant `make docker-login` and `make
build-[backend|frontend]` steps, focusing directly on pushing the
pre-built Docker images with `make push-backend` and `make
push-frontend`. Added a crucial verification step to ensure the
deployment environment is properly defined, enhancing the reliability of
the deployment pipeline. This update ensures a more efficient and
error-resilient deployment process by minimizing unnecessary steps and
reinforcing environmental checks.
placek added a commit that referenced this issue Mar 5, 2024
Consolidated and streamlined the GitHub Actions workflow for deploying
the application by removing redundant build steps and focusing solely on
deployment tasks. This simplification entails a direct approach to
deploying the app, removing previous conditional steps for building
Docker images and checking environment existence. The workflow now
concentrates on setting up AWS credentials, SSH agent configuration, and
executing a singular deployment command. This change leads to a more
efficient, straightforward deployment process, enhancing the
maintainability and readability of the CI/CD pipeline.
placek added a commit that referenced this issue Mar 5, 2024
Standardized the format of placeholders within template files across the
deployment setup to improve the consistency and reliability of dynamic
configuration generation. Modified `config.mk`,
`backend-config.json.tpl`, and
`grafana-provisioning/alerting/alerting.yml` to use a uniform
placeholder notation, enclosed in angle brackets (e.g.,
`<PLACEHOLDER>`), for all configurable values. This refinement
simplifies the template processing logic, ensuring a more streamlined
and error-free substitution of environment-specific values during the
deployment process, thereby enhancing the overall maintainability of the
deployment infrastructure.
placek added a commit that referenced this issue Mar 5, 2024
…ment efficiency

This commit reorganizes the build and deployment scripts by introducing
separate Makefiles for the backend and frontend components, along with
common utilities and informational targets. The new structure aims to
improve modularity, maintainability, and clarity of the deployment
process. Component-specific Makefiles handle Docker image construction
and deployment more effectively, while shared utilities and variables
are centralized for ease of use. Additionally, the update simplifies
Docker tag generation by incorporating it directly into the Makefiles,
eliminating the need for separate versioning scripts. The README has
been updated to guide users through the new deployment process.
placek added a commit that referenced this issue Mar 5, 2024
…stem

This commit eliminates the prepare-config.sh script, incorporating its
configuration preparation logic into the Makefile workflow with a new
config.mk file. This adjustment enhances the consistency of the
deployment process, aligning it with the modular Makefile approach. It
simplifies the management of configurations by dynamically generating
necessary files from templates, thereby improving the security and
maintainability of configuration secrets. Adjustments to related
Makefiles files have been made to accommodate these changes,
streamlining the entire configuration and deployment pipeline.
placek added a commit that referenced this issue Mar 5, 2024
This commit streamlines the deployment process by consolidating the
Docker Compose configurations into a single template file, which is then
dynamically adjusted by the Makefile based on specific deployment
environments. This enhancement reduces redundancy and facilitates easier
management of environment-specific settings. The transition involves
updating the `Makefile` and `config.mk` to support the generation of
Docker Compose files from the template, as well as modifying the
`README.md` to align with the new configuration approach. This change
marks a significant improvement in the deployment workflow, making it
more efficient and maintainable.
placek added a commit that referenced this issue Mar 5, 2024
…ling

Optimized the build-and-deploy GitHub Actions workflow to streamline the
deployment process. Removed redundant `make docker-login` and `make
build-[backend|frontend]` steps, focusing directly on pushing the
pre-built Docker images with `make push-backend` and `make
push-frontend`. Added a crucial verification step to ensure the
deployment environment is properly defined, enhancing the reliability of
the deployment pipeline. This update ensures a more efficient and
error-resilient deployment process by minimizing unnecessary steps and
reinforcing environmental checks.
placek added a commit that referenced this issue Mar 5, 2024
Consolidated and streamlined the GitHub Actions workflow for deploying
the application by removing redundant build steps and focusing solely on
deployment tasks. This simplification entails a direct approach to
deploying the app, removing previous conditional steps for building
Docker images and checking environment existence. The workflow now
concentrates on setting up AWS credentials, SSH agent configuration, and
executing a singular deployment command. This change leads to a more
efficient, straightforward deployment process, enhancing the
maintainability and readability of the CI/CD pipeline.
placek added a commit that referenced this issue Mar 5, 2024
Standardized the format of placeholders within template files across the
deployment setup to improve the consistency and reliability of dynamic
configuration generation. Modified `config.mk`,
`backend-config.json.tpl`, and
`grafana-provisioning/alerting/alerting.yml` to use a uniform
placeholder notation, enclosed in angle brackets (e.g.,
`<PLACEHOLDER>`), for all configurable values. This refinement
simplifies the template processing logic, ensuring a more streamlined
and error-free substitution of environment-specific values during the
deployment process, thereby enhancing the overall maintainability of the
deployment infrastructure.
pmbinapps pushed a commit that referenced this issue Mar 7, 2024
…ment efficiency

This commit reorganizes the build and deployment scripts by introducing
separate Makefiles for the backend and frontend components, along with
common utilities and informational targets. The new structure aims to
improve modularity, maintainability, and clarity of the deployment
process. Component-specific Makefiles handle Docker image construction
and deployment more effectively, while shared utilities and variables
are centralized for ease of use. Additionally, the update simplifies
Docker tag generation by incorporating it directly into the Makefiles,
eliminating the need for separate versioning scripts. The README has
been updated to guide users through the new deployment process.
pmbinapps pushed a commit that referenced this issue Mar 7, 2024
…stem

This commit eliminates the prepare-config.sh script, incorporating its
configuration preparation logic into the Makefile workflow with a new
config.mk file. This adjustment enhances the consistency of the
deployment process, aligning it with the modular Makefile approach. It
simplifies the management of configurations by dynamically generating
necessary files from templates, thereby improving the security and
maintainability of configuration secrets. Adjustments to related
Makefiles files have been made to accommodate these changes,
streamlining the entire configuration and deployment pipeline.
pmbinapps pushed a commit that referenced this issue Mar 7, 2024
This commit streamlines the deployment process by consolidating the
Docker Compose configurations into a single template file, which is then
dynamically adjusted by the Makefile based on specific deployment
environments. This enhancement reduces redundancy and facilitates easier
management of environment-specific settings. The transition involves
updating the `Makefile` and `config.mk` to support the generation of
Docker Compose files from the template, as well as modifying the
`README.md` to align with the new configuration approach. This change
marks a significant improvement in the deployment workflow, making it
more efficient and maintainable.
pmbinapps pushed a commit that referenced this issue Mar 7, 2024
…ling

Optimized the build-and-deploy GitHub Actions workflow to streamline the
deployment process. Removed redundant `make docker-login` and `make
build-[backend|frontend]` steps, focusing directly on pushing the
pre-built Docker images with `make push-backend` and `make
push-frontend`. Added a crucial verification step to ensure the
deployment environment is properly defined, enhancing the reliability of
the deployment pipeline. This update ensures a more efficient and
error-resilient deployment process by minimizing unnecessary steps and
reinforcing environmental checks.
pmbinapps pushed a commit that referenced this issue Mar 7, 2024
Consolidated and streamlined the GitHub Actions workflow for deploying
the application by removing redundant build steps and focusing solely on
deployment tasks. This simplification entails a direct approach to
deploying the app, removing previous conditional steps for building
Docker images and checking environment existence. The workflow now
concentrates on setting up AWS credentials, SSH agent configuration, and
executing a singular deployment command. This change leads to a more
efficient, straightforward deployment process, enhancing the
maintainability and readability of the CI/CD pipeline.
pmbinapps pushed a commit that referenced this issue Mar 7, 2024
Standardized the format of placeholders within template files across the
deployment setup to improve the consistency and reliability of dynamic
configuration generation. Modified `config.mk`,
`backend-config.json.tpl`, and
`grafana-provisioning/alerting/alerting.yml` to use a uniform
placeholder notation, enclosed in angle brackets (e.g.,
`<PLACEHOLDER>`), for all configurable values. This refinement
simplifies the template processing logic, ensuring a more streamlined
and error-free substitution of environment-specific values during the
deployment process, thereby enhancing the overall maintainability of the
deployment infrastructure.
@pmbinapps
Copy link

No break on test-sancho.
Already merged to stage.

@l-br1 l-br1 added this to Govtool all Apr 2, 2024
@MSzalowski MSzalowski moved this to In staging in Govtool all Apr 8, 2024
@MSzalowski MSzalowski moved this from In staging to Blocked in Govtool all Apr 8, 2024
@bosko-m bosko-m moved this from Blocked to Done in Govtool all Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment