Giter VIP home page Giter VIP logo

semaphore's Introduction

Ansible Semaphore

Ansible Semaphore is a modern UI for Ansible. It lets you easily run Ansible playbooks, get notifications about fails, control access to deployment system.

If your project has grown and deploying from the terminal is no longer for you then Ansible Semaphore is what you need.

responsive-ui-phone1

Installation

Full documentation

https://docs.semui.co/administration-guide/installation

Snap

semaphore

sudo snap install semaphore
sudo semaphore user add --admin --name "Your Name" --login your_login --email [email protected] --password your_password

Docker

https://hub.docker.com/r/semaphoreui/semaphore

docker-compose.yml for minimal configuration:

services:
  semaphore:
    ports:
      - 3000:3000
    image: semaphoreui/semaphore:latest
    environment:
      SEMAPHORE_DB_DIALECT: bolt
      SEMAPHORE_ADMIN_PASSWORD: changeme
      SEMAPHORE_ADMIN_NAME: admin
      SEMAPHORE_ADMIN_EMAIL: admin@localhost
      SEMAPHORE_ADMIN: admin
      TZ: Europe/Berlin
    volumes:
      - /path/to/data/home:/etc/semaphore # config.json location
      - /path/to/data/lib:/var/lib/semaphore # database.boltdb location (Not required if using mysql or postgres)

Demo

You can test latest version of Semaphore on https://demo.semui.co.

Docs

Admin and user docs: https://docs.semui.co.

API description: https://semui.co/api-docs/.

Contributing

If you want to write an article about Ansible or Semaphore, contact @fiftin and we will place your article in our Blog with link to your profile.

PR's & UX reviews are welcome!

Please follow the contribution guide. Any questions, please open an issue.

Support

If you like Ansible Semaphore, you can support the project development on Ko-fi.

License

MIT License

Copyright (c) 2016 Castaway Consulting LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

semaphore's People

Contributors

andreas-marschke avatar bakito avatar c0rn3j avatar craftbyte avatar dependabot[bot] avatar dpskvn avatar echobob avatar explodingdragon avatar fiftin avatar fiftin-quiz avatar gcavalcante8808 avatar jdhayes avatar laeshiny avatar matejkramny avatar megakoresh avatar mgukov avatar mwxp06 avatar nfsprodriver avatar pavel-main avatar pedroelbanquero avatar popsul avatar robinmalik avatar samerbahri98 avatar strangeman avatar tboerger avatar tokuhirom avatar traysercassa avatar twhiston avatar walkablenormal avatar wowi42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

semaphore's Issues

Add Users

Hi All,

I added a new user using Users > Add screen. After i added the users with the details, i am not able to login with that user. It always says "Nope. Incorrect Credentials!". I tried adding couple other accounts but still got the same error. Any thoughts?

[16/Mar/2016:20:38:36 +0000] "POST /auth/password HTTP/1.1" 400 42 "http://96.119.243.254/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0"
[16/Mar/2016:20:38:38 +0000] "POST /auth/password HTTP/1.1" 400 42 "http://96.119.243.254/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0"

Let me know if any details required. Thanks.

Can't connect to Mongo using the docker setup

I followed the instructions in the README.md for Docker Quick Start. After getting the three containers up and running I see this in the logs for semaphore:

Mongodb Connection Error: { [MongoError: connect EHOSTUNREACH 172.17.0.25:27017]
name: 'MongoError',
message: 'connect EHOSTUNREACH 172.17.0.25:27017' }

For the Mongo container I see this in the logs:
2015-09-07T15:21:35.814+0000 I NETWORK [initandlisten] waiting for connections on port 27017

I tried just using -p 27017:27017 for mongo, thinking maybe it was only listening on localhost but same results in logs.

About the rq queue back-end worker program

Hello, I'm also writing a ansible based management tool, but now found back-end rq worker processes do not directly on the background, don't know for backend worker program, how is your side

My English is not very good, please forgive me. Thanks

Seeing 'Bugsnag: Error: spawn ENOENT'

At version e8ce2a7, seeing the following error after starting semaphore as 'nodemon bin/semaphore'

app.js:110 Semaphore listening on port 50000
../node_modules/bugsnag/lib/logger.js:29 Bugsnag: Error: spawn ENOENT
at errnoException (child_process.js:1011:11)
at Process.ChildProcess._handle.onexit (child_process.js:802:34)

This is probably not an issue, but need help debugging this. I don't know where to start.

500 error on css/semaphore.css

I don't know what I'm doing wrong, but I'm on Ubuntu 14.04 with docker version 1.5.0, build a8a31ef.

I've followed the basic installed but I'm getting a 500 on the CSS file located at http://domain/css/semaphore.css which means the interface never loads. I get a 500 error.

css/semaphore.less does exist however and that loads fine.

What am I doing wrong?

Failed default login

Hi,

I have just installed Semaphore under vagrant following the readme instructions but I am unable to login with the default credentials. The Semaphore login page comes up fine at localhost:3000 but then I get this:

0 Request Failed. Try again later.

Any advice on how to correct this?

Need to specify command-line argument equivalents

The functionality at this point is great, the only thing that prevents me from using it is that I can't specify passwords for privilege escalation (or I must allow paswordless-sudo escalation, which is a non-starter). Is this on the roadmap?

Docker bash

How can I get access for bash-shell inside container? Standard way with docker exec does not work.

$ docker exec -it semaphore bash 
no such file or directory

Thanks!

Windows / WinRM Support?

I've been having issues similar to issue 23 except I get the bugsnag ENOENT when semaphore goes to execute the playbook.

I've tried running it with debug logs as well as strace but can't tell why I'm getting the spawn error on ansible-playbook.

I've confirmed that I can run the ansible-playbook command manually against the downloaded playbook. Git is installed and semaphore connects to git just fine and downloads the playbook.

I tried debugging the runner.js but I'm no whiz at javascript and I couldn't find anything out of place and I'm guessing it's either an issue with my vault key or the fact that I'm using winrm?

Here's the basic error -

 node /srv/semaphore/bin/semaphore.js
app.js:110 Semaphore listening on port 80
app.js:47 Mongodb connection established


express deprecated res.send(status): Use res.sendStatus(status) instead ../srv/semaphore/lib/routes/task/tasks.js:79:6
::ffff:10.10.0.50 - - [22/Dec/2015:14:54:13 +0000] "POST /playbook/56787e7e389c472a006f0d6c/job/56787ece389c472a006f0d6d/run HTTP/1.1" 201 7 "http://semaphore-host.example.com/playbook/56787e7e389c472a006f0d6c/jobs" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36"
runner.js:240 Updating SSH Keys

runner.js:240 SSH Keys Updated.

runner.js:240
Downloading Playbook.

runner.js:240 Cloning into 'playbook_56787e7e389c472a006f0d6c'...

runner.js:240

Playbook Downloaded.

runner.js:240
Set up Ansible Hosts file with contents:
[windows]
192.168.1.10


runner.js:240
Starting play config/2012/Base.yml.

../node_modules/bugsnag/lib/logger.js:29 Bugsnag:  Error: spawn ansible-playbook ENOENT
    at exports._errnoException (util.js:746:11)
    at Process.ChildProcess._handle.onexit (child_process.js:1054:32)
    at child_process.js:1145:20
    at process._tickDomainCallback (node.js:381:11)

I've attached more detailed logs (strace and node-debug) as well as my customized Dockerfile if you want to try and reproduce. I needed a later ansible to get some of the newer win_modules.

This is nodejs v0.12.9

semaphore_logs.zip

Dockerfile-sempahore.txt

Getting 'TypeError: Cannot read property 'private_key' of undefined' when running playbook

Hi,

I'm getting semaphore to crash when running a playbook.

Steps to reproduce:

  1. Add identity: populated name, private key (copied from ~/.ssh/id_rsa), public key (copied from ~/.ssh/id_rsa.pub); password was not entered (what is that field for?)
  2. Add Playbook: populated name, playbook location (used ssh://user@ip_address/path/to/playbook.git), identity used was above identity from 1. vault password wasn't entered (what is this for?)
  3. Add a host group and host; doubt that this affects the bug although it's not clear which host group your playbook would use if your playbook is group generic.
  4. Add job under created playbook: some path under the git repository specified above)
  5. On run job, I get this: "TypeError: Cannot read property 'private_key' of undefined" and semaphore subsequently crashes.

If you could also a HOWTO for a test playbook flow, that would help the end user use this. Thanks

Question on use of roles

Trying to run a playbook that references a role I get the following error:

Starting play run.yml.
ERROR: cannot find role in /root/playbook_5605429dd87177010043a335/roles/achaussier.apache or /root/playbook_5605429dd87177010043a335/achaussier.apache or /etc/ansible/roles/achaussier.apache
/etc/ansible/roles/achaussier.apache exists on the semaphore host.

I included a roles directory in my unusable-apache reposthat the job is calling and the job ran successfully.

My playbook contains:
- hosts: all
  remote_user: mick
  sudo: yes
  remote_user: mick
  roles:
    - achaussier.apache

What is the correct way to reference that role in semaphore so I don’t have to duplicate roles in each playbook repository?

Crash on SmartOS - ENOENT upon "starting `node lib/app.js`"

Hey, first off: thank you for Semaphore!

I'm working on an Ansible role to get Semaphore rolled out to SmartOS zones.

Unfortunately I'm hitting some issues getting Semaphore up and running.
When running grunt serve, it gets to 'starting node lib/app.js', and crashes with:

    Fatal error: watch ENOENT
    Warning:  Use --force to continue.

            Aborted due to warnings.

Here's the output from grunt --verbose serve.
A lot easier to read if you use the following:
cat < <(curl -L https://gist.github.com/cmacrae/210efa232968a6d7591d/raw/2bd4fcf31b18bd180226ae609acb12ddb0506278/semaphore.log)

I'm running node v0.10.33. Could this be the problem? I see that your requirements state node.js >= 0.11.x
If that is likely the case, feel free to tell me where to go, and I'll try and hack on.

I've never worked with node before, or javascript for that matter, so please let me know if there are further debugging steps I can take to help narrow down the problem.

Thanks in advance

Unable to Get GUI

After running node bin/semaphore.js , i get the error

root@puppetmaster:/home/sateam/semaphore-master# node bin/semaphore.js
[trace] app.js:110 Semaphore listening on port 5000
[trace] app.js:47 Mongodb connection established

GET / 304 487.081 ms - -
LESS File error : '../vendor/fontawesome/less/font-awesome.less' wasn't found. Tried - /home/sateam/semaphore-master/public/vendor/fontawesome/less/font-awesome.less,../vendor/fontawesome/less/font-awesome.less
LESS File : /home/sateam/semaphore-master/public/css/semaphore.less 13:0
GET /vendor/requirejs/require.js 304 73.432 ms - -
Error: '../vendor/fontawesome/less/font-awesome.less' wasn't found. Tried - /home/sateam/semaphore-master/public/vendor/fontawesome/less/font-awesome.less,../vendor/fontawesome/less/font-awesome.less


At the browser end i am able to see only * Loading... * text

Possible to play local playbooks?

It would be really good if semaphore can also play playbooks from a local server in my n/w or on the host machine where I 've installed semaphore. I might not keep all my ansible code in github for various reasons.

Please suggest if this can be released in future or it's not feasible at all.

keep group_vars in db

It will be really nice to keep group_vars in the db (and also the ability of editing them)
It will be great if in the host form we had the chance of creating group_vars which would be stored in DB.
latter in the runner Those group_vars would be retrieved and stored under group_vars/group

Hosts enabled per job

Be able to enable/disable jobs for a job

This will enable better control over what happens when the job runs

Proxy settings

Hi,

I'm currently trying to install semaphore in my corporation network.
The main goal is to test ansible and semaphore for a day-to-day use, to distribute some django web applications for LAN and for the web.

I'm currently working behind a corporate proxy (which is a NTLM one behind a cntlm authentication proxy for linux boxes). The proxy works perfectly... proxy address is like http://<proxy_address>:3128/

I'm trying to setup semaphore's vagrant image, but it does not work due to this proxy. There are multiple areas where proxy is blocking install requests :

  • apt_repository
  • apt
  • npm
  • bower

Each of those requests are blocked by the proxy...

  • No way to configure proxy for apt_repository. I've tried to set the "environment" dict in the playbook, but it doesn't work.
  • I've manually tuned /etc/apt/apt.conf.d/60proxies in VM for my proxy settings > OK. Is there a way to configure it through ansible ?
  • No way to configure proxy for npm ?
  • .bowerrc file > OK

I'm a really beginner in ansible tech, I've took a look at playbooks, hack a bit into them, and I'm not a vagrant fan. Is there a simple way to install semaphore

Thanks for your help !

PS : commit a little bit speedy at first attempt...

Better README

Hi,
This project is amazing, please keep up with the good work :).

Reading the README file, I've encounter a section that is not very clear to me, specifically it is the "Note to Ansible guys" one.

Thanks very much for making Ansible, and Ansible Tower. It is a great tool!. Your UI is pretty horrible though, and so we'd be happy if you could learn and use parts of this tool in your Tower.

Who did the previou affirmation? Where? When?

It would be amazing if this could be your Community Edition of Ansible Tower.

Is this a response or a second part of the same sentence?

Opt-in analytics

Thinking of starting up a piwik instance and giving Anonymous read access for anyone interested.

I want to ask what the users think of this.

It would be opt-in. You would get a dialog when its introduced, asking if you want to enable anonymous data collection and a link where the aggregates can be viewed.

Couple of points regarding privacy:

  • No personal/company identifiable information would be collected
  • Last ipv4 segment anonymised

What would be collected:

  • Pages visited
  • Possibly number of playbooks/keys/etc created

It would help analyse how semaphore is used.

Failed default login

Hi,

I have just installed Semaphore under Ubuntu following the readme instructions but I am unable to login with the default credentials. The Semaphore login page comes up fine at localhost but entering the credentials just redirects to the login page again. UMongo tells me the user '[email protected]' is in the database.

Log says:

GET / 304 8.508 ms - -
GET /view/auth/login 304 7.786 ms - -
POST /auth/password 201 75.863 ms - 7
GET / 304 7.934 ms - -
GET /view/auth/login 304 12.306 ms - -

Any advice on how to correct this?

Does Semaphore with Ansible roles?

Glad to see this alternative to Tower... great work....

Before I dive in, was wondering if this worked with roles and/or with Ansible's standard project/folder structures... so if the Github repo has playbooks which reference roles that are also stored in that repo?

Thanks

Run semaphore as normal user

Hi,

I really like semaphore, but the problem is that I don't run my infrastructure in docker and I don't want to run semaphore as root user.

It would be great if we could run semaphore as a normal user eg. semaphore .

Docker: twice npm installed

The docker image contains two fully installed application instances,
one in /srv/semaphore and the other in /usr/src/app/.

This is because of the nature of the iojs:onbuild image. It uses ONBUILD directives that both copy and install the application dependencies at /usr/src/app as the first steps in a dockerfile that choose it as a parent. This can be seen at the top of the build output.

Sending build context to Docker daemon 
Step 0 : FROM iojs:onbuild
# Executing 3 build triggers
Trigger 0, COPY package.json /usr/src/app/
Step 0 : COPY package.json /usr/src/app/
Trigger 1, RUN npm install
Step 0 : RUN npm install
 ---> lots of npm
Trigger 2, COPY . /usr/src/app
Step 0 : COPY . /usr/src/app
 ---> d6bb6ad37b43

Afterwards, the semaphore docker file does the same, but at /srv/semaphore.

Recommend either shifting away from the :onbuild tag to :1.6 or changing the expected app root to the one assumed by the onbuild image.

Unable to get it running

Hey guys.

I wasn't familiar with nodejs before attempting to run this project. Unfortunately the project isn't thoroughly documented on how to get it started for users new to the platform.

Anyhow, I downloaded the files, ran npm installs against dependencies, and as I see on other guides of nodejs apps, I downloaded supervisor and pm2 in order to run the tool.

Unfortunately both seem to fail.

[root@me bin]# supervisor semaphore.js

Running node-supervisor with
  program 'semaphore.js'
  --watch '.'
  --extensions 'node,js'
  --exec 'node'

Starting child process with 'node semaphore.js'
Watching directory '/home/ameen/semaphore-master/bin' for changes.
Press rs for restarting the process.

/home/ameen/semaphore-master/node_modules/bindings/bindings.js:91
  throw err
        ^
Error: Could not locate the bindings file. Tried:
 → /home/ameen/semaphore-master/node_modules/bcrypt/build/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/build/Debug/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/build/Release/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/out/Debug/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/Debug/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/out/Release/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/Release/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/build/default/bcrypt_lib.node
 → /home/ameen/semaphore-master/node_modules/bcrypt/compiled/0.10.36/linux/x64/bcrypt_lib.node
    at bindings (/home/ameen/semaphore-master/node_modules/bindings/bindings.js:88:9)
    at Object.<anonymous> (/home/ameen/semaphore-master/node_modules/bcrypt/bcrypt.js:3:35)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/ameen/semaphore-master/lib/models/User.js:1:76)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at /home/ameen/semaphore-master/lib/models/index.js:12:26
Program node semaphore.js exited with code 8

pm2 isn't any better, it just shows (errored).

I noticed from various files in the project that you run redis and other stuff. Do I need to run these things separately first or it should be automagically ran through your bin file?

Details on how can I kick things off would be much appreciated.
Thanks!

Count not read username : No such device or address

I have the playbook in path caps-sps/jenkins_mesos/ansible/jenkins_ansible.yml

I added the same in Semaphore Jobs section, but seeing the below error. Can you please suggest?

runner.js:241
Starting play caps-sps/jenkins_mesos/ansible/jenkins_ansible.yml.
runner.js:241 ERROR! the playbook: caps-sps/jenkins_mesos/ansible/jenkins_ansible.yml could not be found
runner.js:216 done. 1

Dynamic Inventory support

I use aws with ansible, so dynamic inventory is used instead of adding hosts manually. Is this possible with semaphore?
Documentation for running playbooks from local machine? I am not able see the documentation for running test playbooks with git repo, if I have missed it, can you point the documentation.

I was able to delete admin user

Hi, while trying to change default users password, I have deleted the admin user. Now I can not recreate one or login. I believe the UI should not let user to delete admin user ;-)

BTW, when this happens, how do I create a new admin user? Directly in MongoDB?

thank you

Manual installation

Hello,

I need help installing without docker and without vagrant .
I have a production server with Ansible and only wish to apply the web layer " semaphore" . You can help with installation?

Regards

Basic Install Doesn't Seem to Work

Just ran through the quickstart installation and it doesn't appear to be working...

Version information:
OS: OSX 10.10.2 (newest)
vagrant: 1.7.2

vagrant up runs perfectly fine, all steps are run with no issues but http://localhost:3000 doesn't serve up anything. What are some steps to figure out what is going on here?

Thanks

Filter by TAGS feature

Please support the --tags and --skip-tags feature of ansible playbooks.

Description:
please add two optional fields to the GUI:

  • one for selected TAGs and pass those to ansible-playbook with '--tags' property
  • and one for skipped TAGs and pass those to ansible-playbook with '--skip-tags' property

To make it more complete, both fields could be type of multi-select and the options should be populated by running the ''ansible-playbook x.yml --list-tags"

Use ENV variables

The app is hard to deploy and host because you have to deal with a JSON config file that you don't want checked in but needs to be on the server. It would make sense for the config object to try to read from ENV and fall back to defaults. This would make it easier to deal with and deploy.

Clean up UI

Any design input welcome!

  • Might migrate to bootstrap 4
  • Update & Lockdown dependencies
  • Find a better font
  • Redesign some of the pages

Docker image?

It's great that this can be run via Vagrant, but is it possible to get a way to run it via Docker as well?

REST Api feature

I've been playing with semaphore for a while now. Good alternative if Ansible Tower isn't an option.

One feature that I'd like to see is a REST API so that it would be possible to fire off playbooks via an API. Would this be possible / been looked at?

Cheers.

Is there a reason why bugsnag is a dependency?

I am trying to understand why bugsnag is a dependency. I reviewed bugsnag and they don't seem to have a free plan. They have a free trial plan, but after the current 30 day limit the bugsnag dependency will cause issues.

It would be nice if the dependency were ignored when the configuration was not supplied in the credentials.json file.

state transition error after playbook edit.

Repro:

  • From Playbooks, click on the name of a defined playbook.
  • Click Edit on the left-side bottom, transition to the Edit Playbook form.
  • Click the green Edit button.

JS Console will balk, citing Error: No such state 'playbook.view'.
Originates from public/js/controllers/playbook/edit.js:21

$state.transitionTo('playbook.view', {
    playbook_id: data._id
});

Set hosts as globals instead of being private of each playbook

I think this is an enhancement instead of an issue.
Think about host being globals:

  1. You first define your host (perhaps calling them inventories would be better since they are actually used as inventories in the commad 'ansible-playbook' triggered by runner.js (groups and hosts)
  2. Then when creating / editing playbooks you can assign them an 'inventory' to be used for such playbook

Failed to run jobs.

Hi. I tried to run any job that has been created, but I did. Added a deploy key, the same that I synced my semaphore-host with Github, put an address of my repo, added group, which name is the same that in /etc/ansible/hosts, but job is failed.
Task output: Updating SSH Keys; SSH Keys Updated.
Checked this issue in Google, but nobody forced with it. Screenshots of my semaphore is below, if I didn`t explained clear.
screenshot_1
screenshot_2
screenshot_3
screenshot_4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.