Giter Site home page Giter Site logo

znanl / ios-dev-playbook Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lexrus/ios-dev-playbook

0.0 2.0 0.0 529 KB

使用 Ansible 快速配置 iOS 开发需要的 Debian 或 Ubuntu 服务器,安装 GitLab、Countly、Jenkins、Ghost、Ajenti 等,顺路装一些科学上网的服务。

License: MIT License

Ruby 100.00%

ios-dev-playbook's Introduction

ios-dev-playbook Build Status GitHub tag

这是一个 Ansible Playbook 的仓库,可以用它快速配置 iOS 开发需要的服务器,仅支持 Debian 和 Ubuntu。请先阅读 Ansible 的入门文档,不然遇到问题可能会没有方向。如果你用 Mac OS X,建议在 Dash 里安装 Ansible 的文档。

目前可以安装的服务有(没勾勾的还没好):

还有一些日常上网用的服务配置可以移步 vpn-deploy-playbook 这个仓库

使用方法

  1. sudo pip install ansible - 安装 Ansible (版本至少 1.8 以上)
  2. git clone https://github.com/lexrus/ios-dev-playbook.git - 下载项目
  3. cd ios-dev-playbook - 进入目录
  4. cp ansible_hosts.ini{.example,} - 复制 ansible_hosts.ini.example 到 ansible_hosts.ini,然后修改相应的服务器地址
  5. 如果要备份这些配置,可以用 rake dropbox,它会把重要的配置备份到 ~/Dropbox/.ios-dev-playbook 目录下
  6. 确保你的服务器可以用 SSH key 验证登录
  7. 安装相应的服务,如 GitLab: rake countly,更多命令用 rake -T 列出
  8. 如果遇到问题可以试着用 rake deps 更新第三方 roles,用 Ansible Galaxy 更新依赖的 roles(.ansible_galaxy_dependencies)

注意事项

  1. 备份策略是: 永不备份;
  2. 各个服务的使用方法这里就不赘述了,我在上面的列表里加了相应的链接;
  3. GitLab 对内存有一定要求,建议使用最少 1G 内存的主机,不过我在执行 GitLab 的 role 前加了设置 swap 等于两倍内存的 role,一般 512M 内存的 VPS 也能撑住 5 人以下的小团队,但是一般运维会建议不要使用 swap; 另外,旧的 omnibus 版本在安装时会被自动备份、升级,详见 roles/gitlab/tasks/main.yml,手动操作可以看这里;
  4. 建议 Web 服务不要装在一起;
  5. Ghost 的 role 会自动装上这些 themes: ghostiumghostrayderghostwriterGhostScrollReadium
  6. Ajenti 强烈建议使用 SSL 连接,但是 Safari 访问非 443 端口使用自签证书的服务器会比较麻烦,所以我暂时禁用了,可以进管理界面打开。不使用 SSL 有安全隐患,请避免在生产环境使用这样的配置。另外,重签证书可以用 ajenti-ssl-gen hostname.com -f; service ajenti restart;
  7. 使用内网或本地 RubyGems 镜像时,一般不想修改 Gemfile,那么可以这样操作(注意替换地址): bundle config mirror.https://rubygems.org http://localhost:9922 ; bundle config mirror.http://rubygems.org http://localhost:9922

测试

测试需要 Vagrant,在本项目目录中 rake test_ubuntu 就会拉一个 ubuntu/trusty64 的镜像试着跑大部分配置,测 Debian Wheezy 请用 rake test_debian。 如果你用的是 Mac OS X,推荐先装 BrewCask,然后运行 brew cask install vagrant virtualbox。 Vagrant 测试的 roles 都写在 tests/vagrant_test.yml 里了。

本地用 Vagrant 测试会消耗很多时间,尤其是在网速不理想的情况下。并且,请确保你的电脑有至少 2G 的空闲内存。

Travis 设置了测试 playbook 的语法是否正确,以及 001_common_utilities.yml 是否能顺利跑通。

赞助

如果你觉得这个项目有用,那就请我喝一杯咖啡吧。我的 PayPal 和支付宝帐号都是: [email protected]

上哪搞服务器?

欢迎你使用我的推广链接注册自己的虚拟服务器:

我的 DigitalOcean 推广链接 新加坡节点延时都很低,每月 5 刀起,通过推广链接注册就送 10 刀。

我的 Linode 推广链接 Linode 虽然贵一点(每月 10 刀起),但是服务非常稳定,性能也不错。

反馈

提 issue 或者在 Twitter 上 @lexrus

协议

本项目的源码遵循 MIT 协议,详见 LICENSE 文件。

ios-dev-playbook's People

Contributors

lexrus avatar

Watchers

James Cloos avatar  avatar

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.