Using Ansible inside a Bash script
Clash 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?
bash debian apache-httpd php ansible
add a comment |Â
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?
bash debian apache-httpd php ansible
add a comment |Â
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?
bash debian apache-httpd php ansible
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
bash debian apache-httpd php ansible
edited 4 hours ago
asked 5 hours ago
JohnDoea
77731
77731
add a comment |Â
add a comment |Â
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.
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
add a comment |Â
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.
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
add a comment |Â
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.
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
add a comment |Â
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.
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.
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.
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
add a comment |Â
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
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password