Using Ansible inside a Bash script

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












I use Ubuntu 18.04 with Ansible installed this way:



apt-get update -y
install software-properties-common
apt-add-repository ppa:ansible/ansible
apt install ansible


I also have a small Bash script I store in GitHub that I sometimes copy-paste into the terminal of remote machines I hire to store my own websites on (as for now I plan to have only one such remote machine, not tens/hundreds or thousands as common for most Ansible users).



The script



#!/bin/bash
apt-get update -y
apt-get install lamp-server^
apt-get install php-mbstring php-mcrypt php-curl php-cli php-gd
curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/local/bin --filename=composer


One could say "well, if it's just one machine don't use Ansible at all, it would be an overkill" but I still feel the need to automate this as it is a very "messy" installation command set that might change "tomorrow".



My problem



I don't find literature to explain how I could do the same installations, inside the Bash terminal (say from copy-pasting the command set) but with Ansible. I also bought a printed version of Jeff Geerling's book "Ansible for Devops" but none of the basic chapters covers my particular need.



All I find is how to deploy a playground file to a list of IPs but I don't want to use this "traditional" way for Ansible. I just want to copy a Ansible YAML command set from GitHub to my terminal.



My question



Do you know how I could do that?










share|improve this question



























    up vote
    1
    down vote

    favorite












    I use Ubuntu 18.04 with Ansible installed this way:



    apt-get update -y
    install software-properties-common
    apt-add-repository ppa:ansible/ansible
    apt install ansible


    I also have a small Bash script I store in GitHub that I sometimes copy-paste into the terminal of remote machines I hire to store my own websites on (as for now I plan to have only one such remote machine, not tens/hundreds or thousands as common for most Ansible users).



    The script



    #!/bin/bash
    apt-get update -y
    apt-get install lamp-server^
    apt-get install php-mbstring php-mcrypt php-curl php-cli php-gd
    curl -sS https://getcomposer.org/installer -o composer-setup.php
    php composer-setup.php --install-dir=/usr/local/bin --filename=composer


    One could say "well, if it's just one machine don't use Ansible at all, it would be an overkill" but I still feel the need to automate this as it is a very "messy" installation command set that might change "tomorrow".



    My problem



    I don't find literature to explain how I could do the same installations, inside the Bash terminal (say from copy-pasting the command set) but with Ansible. I also bought a printed version of Jeff Geerling's book "Ansible for Devops" but none of the basic chapters covers my particular need.



    All I find is how to deploy a playground file to a list of IPs but I don't want to use this "traditional" way for Ansible. I just want to copy a Ansible YAML command set from GitHub to my terminal.



    My question



    Do you know how I could do that?










    share|improve this question

























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I use Ubuntu 18.04 with Ansible installed this way:



      apt-get update -y
      install software-properties-common
      apt-add-repository ppa:ansible/ansible
      apt install ansible


      I also have a small Bash script I store in GitHub that I sometimes copy-paste into the terminal of remote machines I hire to store my own websites on (as for now I plan to have only one such remote machine, not tens/hundreds or thousands as common for most Ansible users).



      The script



      #!/bin/bash
      apt-get update -y
      apt-get install lamp-server^
      apt-get install php-mbstring php-mcrypt php-curl php-cli php-gd
      curl -sS https://getcomposer.org/installer -o composer-setup.php
      php composer-setup.php --install-dir=/usr/local/bin --filename=composer


      One could say "well, if it's just one machine don't use Ansible at all, it would be an overkill" but I still feel the need to automate this as it is a very "messy" installation command set that might change "tomorrow".



      My problem



      I don't find literature to explain how I could do the same installations, inside the Bash terminal (say from copy-pasting the command set) but with Ansible. I also bought a printed version of Jeff Geerling's book "Ansible for Devops" but none of the basic chapters covers my particular need.



      All I find is how to deploy a playground file to a list of IPs but I don't want to use this "traditional" way for Ansible. I just want to copy a Ansible YAML command set from GitHub to my terminal.



      My question



      Do you know how I could do that?










      share|improve this question















      I use Ubuntu 18.04 with Ansible installed this way:



      apt-get update -y
      install software-properties-common
      apt-add-repository ppa:ansible/ansible
      apt install ansible


      I also have a small Bash script I store in GitHub that I sometimes copy-paste into the terminal of remote machines I hire to store my own websites on (as for now I plan to have only one such remote machine, not tens/hundreds or thousands as common for most Ansible users).



      The script



      #!/bin/bash
      apt-get update -y
      apt-get install lamp-server^
      apt-get install php-mbstring php-mcrypt php-curl php-cli php-gd
      curl -sS https://getcomposer.org/installer -o composer-setup.php
      php composer-setup.php --install-dir=/usr/local/bin --filename=composer


      One could say "well, if it's just one machine don't use Ansible at all, it would be an overkill" but I still feel the need to automate this as it is a very "messy" installation command set that might change "tomorrow".



      My problem



      I don't find literature to explain how I could do the same installations, inside the Bash terminal (say from copy-pasting the command set) but with Ansible. I also bought a printed version of Jeff Geerling's book "Ansible for Devops" but none of the basic chapters covers my particular need.



      All I find is how to deploy a playground file to a list of IPs but I don't want to use this "traditional" way for Ansible. I just want to copy a Ansible YAML command set from GitHub to my terminal.



      My question



      Do you know how I could do that?







      bash debian apache-httpd php ansible






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 4 hours ago

























      asked 5 hours ago









      JohnDoea

      77731




      77731




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          3
          down vote













          From the Ansible Docs:



           - name: Install a list of packages
          apt:
          name: " packages "
          vars:
          packages:
          - foo
          - foo-tools

          - name: Download foo.conf
          get_url:
          url: http://example.com/path/file.conf
          dest: /etc/foo.conf
          mode: 0440


          Since this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.






          share|improve this answer










          New contributor




          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.

















          • Hello The Letter M. Can Bash evaluate this directly after Ansible was installed?
            – JohnDoea
            5 hours ago







          • 1




            No because this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.
            – The Letter M
            4 hours ago











          • Thanks. I think this data should be part of the answer after an edit (BTW the answer is likely to get upvoted with it).
            – JohnDoea
            4 hours ago










          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          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',
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          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%2funix.stackexchange.com%2fquestions%2f480026%2fusing-ansible-inside-a-bash-script%23new-answer', 'question_page');

          );

          Post as a guest






























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          3
          down vote













          From the Ansible Docs:



           - name: Install a list of packages
          apt:
          name: " packages "
          vars:
          packages:
          - foo
          - foo-tools

          - name: Download foo.conf
          get_url:
          url: http://example.com/path/file.conf
          dest: /etc/foo.conf
          mode: 0440


          Since this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.






          share|improve this answer










          New contributor




          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.

















          • Hello The Letter M. Can Bash evaluate this directly after Ansible was installed?
            – JohnDoea
            5 hours ago







          • 1




            No because this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.
            – The Letter M
            4 hours ago











          • Thanks. I think this data should be part of the answer after an edit (BTW the answer is likely to get upvoted with it).
            – JohnDoea
            4 hours ago














          up vote
          3
          down vote













          From the Ansible Docs:



           - name: Install a list of packages
          apt:
          name: " packages "
          vars:
          packages:
          - foo
          - foo-tools

          - name: Download foo.conf
          get_url:
          url: http://example.com/path/file.conf
          dest: /etc/foo.conf
          mode: 0440


          Since this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.






          share|improve this answer










          New contributor




          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.

















          • Hello The Letter M. Can Bash evaluate this directly after Ansible was installed?
            – JohnDoea
            5 hours ago







          • 1




            No because this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.
            – The Letter M
            4 hours ago











          • Thanks. I think this data should be part of the answer after an edit (BTW the answer is likely to get upvoted with it).
            – JohnDoea
            4 hours ago












          up vote
          3
          down vote










          up vote
          3
          down vote









          From the Ansible Docs:



           - name: Install a list of packages
          apt:
          name: " packages "
          vars:
          packages:
          - foo
          - foo-tools

          - name: Download foo.conf
          get_url:
          url: http://example.com/path/file.conf
          dest: /etc/foo.conf
          mode: 0440


          Since this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.






          share|improve this answer










          New contributor




          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          From the Ansible Docs:



           - name: Install a list of packages
          apt:
          name: " packages "
          vars:
          packages:
          - foo
          - foo-tools

          - name: Download foo.conf
          get_url:
          url: http://example.com/path/file.conf
          dest: /etc/foo.conf
          mode: 0440


          Since this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.







          share|improve this answer










          New contributor




          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          share|improve this answer



          share|improve this answer








          edited 4 hours ago





















          New contributor




          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          answered 5 hours ago









          The Letter M

          513




          513




          New contributor




          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.





          New contributor





          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.






          The Letter M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.











          • Hello The Letter M. Can Bash evaluate this directly after Ansible was installed?
            – JohnDoea
            5 hours ago







          • 1




            No because this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.
            – The Letter M
            4 hours ago











          • Thanks. I think this data should be part of the answer after an edit (BTW the answer is likely to get upvoted with it).
            – JohnDoea
            4 hours ago
















          • Hello The Letter M. Can Bash evaluate this directly after Ansible was installed?
            – JohnDoea
            5 hours ago







          • 1




            No because this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.
            – The Letter M
            4 hours ago











          • Thanks. I think this data should be part of the answer after an edit (BTW the answer is likely to get upvoted with it).
            – JohnDoea
            4 hours ago















          Hello The Letter M. Can Bash evaluate this directly after Ansible was installed?
          – JohnDoea
          5 hours ago





          Hello The Letter M. Can Bash evaluate this directly after Ansible was installed?
          – JohnDoea
          5 hours ago





          1




          1




          No because this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.
          – The Letter M
          4 hours ago





          No because this is written in Ansible Playbook format. You would need to write it to a yaml file, and then you can call the playbook from your script. You would not be able to embed the yaml file in a bash script and then call it within the script.
          – The Letter M
          4 hours ago













          Thanks. I think this data should be part of the answer after an edit (BTW the answer is likely to get upvoted with it).
          – JohnDoea
          4 hours ago




          Thanks. I think this data should be part of the answer after an edit (BTW the answer is likely to get upvoted with it).
          – JohnDoea
          4 hours ago

















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f480026%2fusing-ansible-inside-a-bash-script%23new-answer', 'question_page');

          );

          Post as a guest













































































          Comments

          Popular posts from this blog

          What does second last employer means? [closed]

          List of Gilmore Girls characters

          One-line joke