Tag Archives: git salt

SALT – CLONE YOUR GIT REPO IN A STATE — PYTHON DEV SETUP

GOAL

  • Create a state to be utilised in your working environment
  • Clone git repo!

PERQUISITES:

SaltStack installed on the machine.
https://juhosyrjanen.com/2015/11/05/salty-assignment-i-saltstack/

ENVIRONMENT:

VM1: Running Mint 17.2, Salt master ||  specs

DEV SETUP

I wanted to create a highstate that first installs Git, clones my repository and installs some Python libraries.

GIT

I created this ‘not-so-well-executed’ state to clone my repository for my current project.
State located in /srv/salt/git

git

Running commands in Salt state is not recommended, but this does do the job. My repository is open, therefore there’s no need for passwords in this execution.

I tested this state, it ran fine the first time, but ran into problems using cmd.run.

repo

Instead of using cmd.run, I used cmd.wait, which will only modify directories/scripts if changes are made.

gitfix

Running the state a few times, and all is good.

state

I also added a few line to the git-state to automate the login, so that there’s no need to always enter password on git push.

confgit

 

PYTHON

Another module for the Python installation, done in a similar way to the git-module.
Capture2

Before proceeding, both modules were tested to be working correctly.

Now in the top.sls -file, I added the modules to be set to one of the slaves I have running.
Capture4

Capture3

And then I ran the highstate.
sudo salt slaveVM01 state.highstate

Capture5

It worked.

I created this highstate in order to more easily manage my laptop and other computers I use for development purposes. It will be a lot more easier to run a few states than always manually install python libraries and clone a git repo.

 

  • Copying, modifying and redistributing this and all the other documents in this blog is allowed according to the GNU General Public License (versio 2 or newer).http://www.gnu.org/licenses/gpl.html
  • Based on the Linux course by Tero Karvinen 2015: terokarvinen.com

 

Advertisements