Gitlab-CI, Review Apps, GKE, the good way?












0















I'm starting with Kubernetes (through GKE) and I want to setup Gitlab Review Apps.
My use case is quite simple. I've read tons of articles but I could not find clear explanations and best practices on the way to do it. This is the reason why I'm asking here.



Here is what I want to achieve :




  • I have a PHP application, based on Symfony4, versioned on my Gitlab CE instance (self-hosted)

  • I setup my Kubernetes using GKE into Gitlab

  • I want, on each merge request, deploy a new environment on my cluster where I am able to test the application and the new feature (this is the principle of Review Apps).


As far as I read, I've only found simple implementations of it. What I want to do, is deploy to a new LAMP (or LEMP) environment to test my new feature.



The thing that I don't understand is how to proceed to deploy my application.
I'm able to write Docker files, store them on mi Gitlab registry, etc ...
In my use case, what is the best way to proceed?




  • In my application repository, do I have to store a Docker file which includes all my LAMP configuration (a complete image with all my LAMP setup)? I don't like this approach, it seems strange to me.


  • Do I have to store different custom images (for Apache, MySQL, PHP-FPM, Redis) on my registry and call them and deploy them on GKE during review Stage in my gitlab-cy.yml file?



I'm a little bit stuck on that and I can't share code because it's more about the way to handle everything.



If you have any explanations to help me, it would be great!
I can, of course, explain a little bit more if needed!



Thanks a lot for your help.



Happy new year!










share|improve this question





























    0















    I'm starting with Kubernetes (through GKE) and I want to setup Gitlab Review Apps.
    My use case is quite simple. I've read tons of articles but I could not find clear explanations and best practices on the way to do it. This is the reason why I'm asking here.



    Here is what I want to achieve :




    • I have a PHP application, based on Symfony4, versioned on my Gitlab CE instance (self-hosted)

    • I setup my Kubernetes using GKE into Gitlab

    • I want, on each merge request, deploy a new environment on my cluster where I am able to test the application and the new feature (this is the principle of Review Apps).


    As far as I read, I've only found simple implementations of it. What I want to do, is deploy to a new LAMP (or LEMP) environment to test my new feature.



    The thing that I don't understand is how to proceed to deploy my application.
    I'm able to write Docker files, store them on mi Gitlab registry, etc ...
    In my use case, what is the best way to proceed?




    • In my application repository, do I have to store a Docker file which includes all my LAMP configuration (a complete image with all my LAMP setup)? I don't like this approach, it seems strange to me.


    • Do I have to store different custom images (for Apache, MySQL, PHP-FPM, Redis) on my registry and call them and deploy them on GKE during review Stage in my gitlab-cy.yml file?



    I'm a little bit stuck on that and I can't share code because it's more about the way to handle everything.



    If you have any explanations to help me, it would be great!
    I can, of course, explain a little bit more if needed!



    Thanks a lot for your help.



    Happy new year!










    share|improve this question



























      0












      0








      0








      I'm starting with Kubernetes (through GKE) and I want to setup Gitlab Review Apps.
      My use case is quite simple. I've read tons of articles but I could not find clear explanations and best practices on the way to do it. This is the reason why I'm asking here.



      Here is what I want to achieve :




      • I have a PHP application, based on Symfony4, versioned on my Gitlab CE instance (self-hosted)

      • I setup my Kubernetes using GKE into Gitlab

      • I want, on each merge request, deploy a new environment on my cluster where I am able to test the application and the new feature (this is the principle of Review Apps).


      As far as I read, I've only found simple implementations of it. What I want to do, is deploy to a new LAMP (or LEMP) environment to test my new feature.



      The thing that I don't understand is how to proceed to deploy my application.
      I'm able to write Docker files, store them on mi Gitlab registry, etc ...
      In my use case, what is the best way to proceed?




      • In my application repository, do I have to store a Docker file which includes all my LAMP configuration (a complete image with all my LAMP setup)? I don't like this approach, it seems strange to me.


      • Do I have to store different custom images (for Apache, MySQL, PHP-FPM, Redis) on my registry and call them and deploy them on GKE during review Stage in my gitlab-cy.yml file?



      I'm a little bit stuck on that and I can't share code because it's more about the way to handle everything.



      If you have any explanations to help me, it would be great!
      I can, of course, explain a little bit more if needed!



      Thanks a lot for your help.



      Happy new year!










      share|improve this question
















      I'm starting with Kubernetes (through GKE) and I want to setup Gitlab Review Apps.
      My use case is quite simple. I've read tons of articles but I could not find clear explanations and best practices on the way to do it. This is the reason why I'm asking here.



      Here is what I want to achieve :




      • I have a PHP application, based on Symfony4, versioned on my Gitlab CE instance (self-hosted)

      • I setup my Kubernetes using GKE into Gitlab

      • I want, on each merge request, deploy a new environment on my cluster where I am able to test the application and the new feature (this is the principle of Review Apps).


      As far as I read, I've only found simple implementations of it. What I want to do, is deploy to a new LAMP (or LEMP) environment to test my new feature.



      The thing that I don't understand is how to proceed to deploy my application.
      I'm able to write Docker files, store them on mi Gitlab registry, etc ...
      In my use case, what is the best way to proceed?




      • In my application repository, do I have to store a Docker file which includes all my LAMP configuration (a complete image with all my LAMP setup)? I don't like this approach, it seems strange to me.


      • Do I have to store different custom images (for Apache, MySQL, PHP-FPM, Redis) on my registry and call them and deploy them on GKE during review Stage in my gitlab-cy.yml file?



      I'm a little bit stuck on that and I can't share code because it's more about the way to handle everything.



      If you have any explanations to help me, it would be great!
      I can, of course, explain a little bit more if needed!



      Thanks a lot for your help.



      Happy new year!







      docker kubernetes gitlab gitlab-ci






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Dec 31 '18 at 14:00









      Nagesh Katna

      411516




      411516










      asked Dec 31 '18 at 9:47









      GhislainGhislain

      11




      11
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53985974%2fgitlab-ci-review-apps-gke-the-good-way%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53985974%2fgitlab-ci-review-apps-gke-the-good-way%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Monofisismo

          Angular Downloading a file using contenturl with Basic Authentication

          Olmecas