Skip to content

不会运维的 iOS 开发不是好设计师。这个 Ansible Playbook 能快速配置 iOS 开发需要的服务,安装如 Gogs、GitLab、Countly、Jenkins、Ghost、Ajenti、Seafile 等常用服务。

License

Notifications You must be signed in to change notification settings

w99wen123dff/ios-dev-playbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS Dev Playbook

Build Status GitHub tag License Love

这是一个 Ansible Playbook 的仓库,可以用它快速配置 iOS 开发需要的服务器,仅支持 Debian(8.0) 和 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 gitlab,更多命令用 rake -T 列出
  8. 如果遇到问题可以试着用 rake deps 更新第三方 roles,用 Ansible Galaxy 更新依赖的 roles(.ansible_galaxy_dependencies)
  9. rake jessie 自动升级 Debian Wheezy 没有经过测试,不保证能成功

注意事项

  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 刀。

我的 Vultr 推广链接 最低每月 5 刀,使用优惠码 SSDVPS 就送 20 刀。

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

反馈

提 issue 或者在 Twitter 上 @lexrus

协议

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

About

不会运维的 iOS 开发不是好设计师。这个 Ansible Playbook 能快速配置 iOS 开发需要的服务,安装如 Gogs、GitLab、Countly、Jenkins、Ghost、Ajenti、Seafile 等常用服务。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 35.1%
  • Python 33.4%
  • Ruby 31.5%