shmac开发环境设置(代码片段)

author author     2022-12-19     511

关键词:

#!/bin/sh

# Sets up a wide array of my development environment on a Mac...


fail()
  err=$1; shift 1;
  echo "$@" >&2
  exit $err


requires() # simple wrapper to check presence of executables.
  which $@ >/dev/null



setup_homebrew () 
  requires xcodebuild || return $?
  requires sudo || return $?
  
  sudo xcodebuild -checkFirstLaunchStatus
  [ $? -eq 69 ] || sudo xcodebuild -license
  
  requires brew && return 0  # already installed

  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  


setup_containerkit () 
  requires brew || return $?
  sudo mkdir -p /etc/kubernetes,docker
    
  
  brew install \
    docker docker-completion \
    docker-compose docker-compose-completion \
    docker-machine docker-machine-completion \
    xhyve docker-machine-driver-xhyve \
    docker-machine-nfs docker-clean \
    kubernetes-cli compose2kube
    
  brew install Caskroom/cask/minikube
  
  # Start virtual machines if not present.
  docker-machine status docker-default | grep -v Running && docker-machine create -d xhyve docker-default
  minikube status | grep -v Running && minikube start --vm-driver xhyve
  
  docker_env=`mktemp /tmp/dockerenv.sh.XXXXX`
  kubernetes_env=`mktemp /tmp/kubernetesenv.sh.XXXXX`
  
  
  echo 'eval $(docker-machine env docker-default)' > $docker_env
  echo 'eval $(minikube docker-env)' > $kubernetes_env
  
  sudo mv $docker_env /etc/docker/env.sh
  sudo mv $kubernetes_env /etc/kubernetes/env.sh
  


setup_hashicorp ()
  requires brew || return $?
  brew install \
    Caskroom/cask/vagrant,-manager \
    vagrant-completion \
    terraform


setup_nodedev () 
  requires brew || return $?
  brew install node phantomjs
  npm install -g \
    growl \
    babel,gulp,grunt-cli \
    gyp \
    nyc istanbul \
    jshint eslint \
    mocha \
    node-sass \
    google-closure-compiler-js



setup_python_base () 
  requires easy_install || $?
  sudo easy_install pip
  sudo pip install --upgrade --ignore-installed six python-dateutil


setup_pythondev () 
  requires brew || return $?
  requires pip || return $?
  brew install python3
  sudo -H pip install \
    virtualenv vex \
    coverage nose unittest2 \
    pep8 pyflakes flake8 \
    vboxapi \
    Jinja2 Pillow \
    lesscpy


setup_cloud_services ()
  requires brew || return $?
  requires pip || return $?
  brew install \
    Caskroom/cask/google-cloud-sdk
  sudo -H pip install \
    google-api-python-client \
    awscli awslogs


setup_system_libs () 
  requires brew || return $?
  brew install \
    libffi libgit2 \
    openssl wget \
    jpeg


setup_database ()
  requires brew || return $?
  brew install \
    mysql mongodb postgresql \
    Caskroom/cask/mongohub \
    Caskroom/cask/mysqlworkbench \
    Caskroom/cask/robomongo \
    Caskroom/cask/mongodbpreferencepane
    
  mkdir -p ~/Library/LaunchAgents
  cp `brew --prefix mysql`/*mysql*.plist ~/Library/LaunchAgents/
  launchctl load -w ~/Library/LaunchAgents/*mysql*.plist



setup_userkit () 
  # User environment
  requires brew || return $?
  brew install \
    Caskroom/cask/iterm2 \
    Caskroom/cask/macdown \
    Caskroom/cask/cyberduck \
    Caskroom/cask/postman \
    terminal-notifier



setup_remoteauth () 
  mkdir -m 0700 ~/.ssh
  [ -f ~/.ssh/id_rsa ] || ssh-keygen -f ~/.ssh/id_rsa -C "$USER@$HOSTNAME" -b 4096




setup_homebrew || fail $? "Could not set up homebrew."
setup_python_base || fail $? "Could not prepare Python base environment."
setup_containerkit || fail $? "Could not setup Docker and/or Kubernetes."
setup_hashicorp || fail $? "Could not setup terraform or vagrant."
setup_userkit || fail $? "Could not set up user environment utilities."
setup_remoteauth || fail $? "Could not set up authentication environment."
setup_cloud_services || fail $? "Could not setup cloud platform SDKs."
setup_database || fail $? "Could not set up database environments."


shmac设置(代码片段)

查看详情

shmac设置(代码片段)

查看详情

shmac偏好(代码片段)

查看详情

shmac维护(代码片段)

查看详情

shmacのアプリケーションフォルダなどを日本语环境で英语名にするスクリプト(代码片段)

查看详情

shmac地址更改(代码片段)

查看详情

shmac-终端启动(代码片段)

查看详情

shmac-破解专用(代码片段)

查看详情

shmac终端命令(代码片段)

查看详情

shmac地址欺骗器(代码片段)

查看详情

shmac允许任何来源(代码片段)

查看详情

shmac_addr(代码片段)

查看详情

shmac_dns(代码片段)

查看详情

shmac_pass(代码片段)

查看详情

shmac上安装ssdb(代码片段)

查看详情

shmac_master(代码片段)

查看详情

shmac模型标识符(代码片段)

查看详情

markdownubuntulamp开发环境设置(代码片段)

查看详情