Rolling, rolling, rolling back nothing I love more than communicating why we had to roll back again (⁠ノ⁠ಠ⁠益⁠ಠ⁠)⁠ノ

  • @[email protected]OP
    link
    fedilink
    21
    edit-2
    4 days ago

    It’s internal development (Portugal) developing something for an internal department (Germany). There’s nothing professional going on here so we are far from any ci/cd pipeline. One person can change everything, because it’s just two developers (1 frontend, 1 backend).

    Plus things are busy and we (team in Germany) are way more interested in this thing working well than they (team in Portugal) are since they have higher priority tasks…

    Of course I can say fuck it and live with the poor quality caused by circumstances that were partially caused by poor management decisions of the company but I’m not able to care little enough.

    • @[email protected]
      link
      fedilink
      104 days ago

      I demand CI/CD for my scripts. If it runs in prod or against prod or anywhere near prod, it gets a pipeline.

      Technical maturity isn’t just for big companies and important things. It’s a practice. Why half-ass something when you could whole ass it?

    • @[email protected]
      link
      fedilink
      English
      174 days ago

      Pre-commit hooks don’t require a pipeline nor any money. In most cases it’s one line of code to make the tests run every commit

        • @[email protected]
          link
          fedilink
          English
          194 days ago

          Fix your shit and it won’t stop you from committing.

          It’s also usually only on certain branches, so you can make a branch where you break things and then fix them before you merge to testing/main/whatever.

          • @[email protected]
            link
            fedilink
            64 days ago

            TIL precommit hooks can be set per branch. I was being facetious to begin with but this sounds pretty good actually.

            • @[email protected]
              link
              fedilink
              English
              24 days ago

              What do you do if you have code that isn’t complete enough to work? Do you have to just leave it untracked?

              • @[email protected]
                link
                fedilink
                24 days ago

                If you have code that is not complete it is not qualified to be deployed. Cut work items into smaller chunks but never deploy not fully, 100% working and tested stuff. Not even on dev.

                • @[email protected]
                  link
                  fedilink
                  English
                  24 days ago

                  Every branch you have deploys on commit? You have to fully QA all of your code before it goes into any sort of source control?

                  • @[email protected]
                    link
                    fedilink
                    1
                    edit-2
                    4 days ago

                    Not quite.

                    • Every commit is just a local commit
                    • Every push runs pre-hooks which execute bunch of checks, for example linters, style checkers, etc. and prevent a push if something is not perfect
                    • After every push the CI/CD pipeline runs on origin
                    • Every run of the pipeline executes again checks with linters but also securoty checks for CVEs on dependencies and runtime
                    • Every pipeline run also executes all tests such as unit tests, scenario tests, integration tests
                    • If any of the above fails, the pipeline fails and stops
                    • Only if everything is okay, one can deploy on dev, the first stage
                    • Only if this is okay, the artifact gets pushed to the central artifact store
                    • Only if this suceesa a prod deployment can run, which pulls the artifact from the store
                    • Runners for dev and prod are distinct and don’t have rights the other has, the only common contact point is the artifact store

                    That’s an extremely very basic overview with many steps and concepts omitted but you get the idea.

              • @[email protected]
                link
                fedilink
                14 days ago

                I don’t know what others do, but I personally whip out git commit -n and bypass the hooks in this situation.

        • @[email protected]
          link
          fedilink
          2
          edit-2
          4 days ago

          I agree. I absolutely hate when some pesky git hook rejects some debug code I wrote that I want to commit. Mind you, commit, not integrate. This is the situation where I whip out git commit -n.

    • @[email protected]
      link
      fedilink
      24 days ago

      If you have tests you have to automate them and have a pipeline which stops any deployments when these tests fail. You definitely have a mindset issue and not a management or tool issue. I am not sorry but as a DevOps Engineer I can only say you guys are a lousy hack and should probably seek a different job.