Giter VIP home page Giter VIP logo

devops's People

Contributors

ayame30 avatar jyek avatar sktgintokii 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

Forkers

ectsang

devops's Issues

should not be running as 'root'

requiring sudo for the tasks changes numerous environment of the instance

  • sourcing env variables via ~/.profile
  • install & running node
  • etc

Nginx config file should handle 301 redirect

like

     server {
         listen 80;
         server_name 54.179.128.50;

         return 301 $scheme://altitudelabs.com$request_uri;
     }
     server {
         listen 80;
         server_name www.altitudelabs.com;

         return 301 $scheme://altitudelabs.com$request_uri;
     }

Abstract such that projects can use this repo as git submodule

  • Abstract variables into env_vars folder for global variables that will be used in roles
  • Deploy-node-app role should be able to deploy Ghost blog from specified git repo. Create a bare repo with a post-receive hook such that user can type git push staging master to deploy app

Steps in Ansible:

  1. create folder /home/ubuntu/repos/{{project_name}}
  2. cd /home/ubuntu/repos/{{project_name}}
  3. git --bare init
  4. copy post-receive template to /home/ubuntu/repos/{{project_name}}/hooks/post-receive
  5. create folder /home/ubuntu/{{ project_name }}

Then to deploy from local computer, do:
git remote add deploy ubuntu@{{ instance_ip }}:/home/ubuntu/repos/{{ project_name }}
git push deploy master --force

  • Deploy-blog should be able to deploy Ghost blog from specified git repo using similar method
  • Should install gulp, grunt, ruby, sass, bower (see issue #1)

AWS EC2 instance sync

Allow to create new group of instance easily, like

./devops add vms-group-a 5

to create 5 ec2 instances as vms-group-a.

do sync with EC2 with

./devops sync

or/and do sync with EC2 before running reprovision playbook,

  1. get list of instances from ec2 with same project name
  2. see if there are new groups which is not in devops-host, add new groups
  3. see if there are old groups which is not exist in AWS ec2, remove from devops-host
  4. Update host list for each group
  5. Warn the user if his target host group is not exist anymore

Allow project specific ansible playbooks

now all playbooks are bounded to devops proj
however devops proj should only provide general playbooks as library
proj itself should be able to contain its own playbooks

Update server time

Do sudo ntpdate time.nist.gov,
server time may not be updated, and error may occur.
(for example, AWS SES service does not allow request with wrong timestamp.)

devops-ignore.yml file for credentials

like


---
pm2_start_var:  >-
                  PORT={{ nginx_server_port }}
                  AWS_ACCESS_KEY=xxxxxxx
                  AWS_SECRET_KEY= xxxxxxx
                  BRAINTREE_MERCHANT_ID= xxxxxxx
                  BRAINTREE_PUBLIC_KEY= xxxxxxx
                  BRAINTREE_PRIVATE_KEY= xxxxxxx

Currently we can do that with ./devops deploy --extra-vars="@../devops-ignore.yml"
But better to have a short shell script to do that

make devops into git submodule

right now the version control of proj and devops are not sync
should figure out how to make devops into submodule so it wont break the deployment logic whenever devops is updated

Missing command

npm install -g grunt-cli
npm install -g grunt
npm install -g gulp
npm install -g bower
sudo apt-get install ruby1.9.1 ruby1.9.1-dev
sudo gem install sass

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.