Sobes.tech
Middle+

You mentioned Docker, CI/CD, GitHub Actions, GitLab — can you elaborate on what exactly you did, which pipelines, what was in the containers?

sobes.tech AI

Answer from AI

In projects, I used Docker for containerizing applications, which allowed creating reproducible and isolated environments. Typically, a frontend server (such as nginx or node.js), project build, and tests were run inside containers.

For automating CI/CD processes, I set up pipelines in GitHub Actions and GitLab CI. These included the following steps:

  • Building the project (npm install, webpack build, etc.)
  • Running unit and integration tests
  • Linting and code quality checks
  • Building Docker images and publishing to a registry
  • Deploying to testing or production servers

An example of a simple GitHub Actions workflow for the frontend:

name: CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: npm test
      - name: Build
        run: npm run build
      - name: Build Docker image
        run: docker build -t my-frontend:latest .
      - name: Push Docker image
        run: |
          echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
          docker push my-frontend:latest

Thus, automation of building, testing, and delivering the frontend application was ensured.

You mentioned Docker, CI/CD, GitHub Actions, GitLab… - sobes.tech