搭建manageIQ开发环境(1)

最近在研究搭建manageIQ的开发环境,先粘贴官网上的搭建过程:



Developer Setup

Install System Packages

Fedora / CentOS 7
  • CentOS only - use yum instead of dnf.

  • Install Packages

    sudo dnf -y group install "C Development Tools and Libraries"  # For unf Gem and noi4r Gem
    sudo dnf -y install git-all                                    # Git and components
    sudo dnf -y install memcached                                  # Memcached for the session store
    sudo dnf -y install postgresql-devel postgresql-server         # PostgreSQL Database server and to build 'pg' Gem
    sudo dnf -y install bzip2 libffi-devel readline-devel          # For rbenv install 2.3.1 (might not be needed with other Ruby setups)
    sudo dnf -y install libxml2-devel libxslt-devel patch          # For Nokogiri Gem
    sudo dnf -y install sqlite-devel                               # For sqlite3 Gem
    sudo dnf -y install nodejs                                     # For ExecJS Gem, bower, npm, yarn, webpack.. - needs at least 6.0.0
    sudo dnf -y install libcurl-devel                              # For Curb
    rpm -q --whatprovides npm || sudo dnf -y install npm           # For CentOS 7, Fedora 23 and older
    sudo dnf -y install openssl-devel                              # For rubygems
    sudo dnf -y install cmake                                      # For rugged Gem
    sudo dnf -y install openscap                                   # Optional, for openscap Gem for container SSA
    
  • Enable Memcached

    sudo systemctl enable memcached
    sudo systemctl start memcached
    
  • Configure PostgreSQL

    • Required PostgreSQL version is 9.4, 9.5
      • See here how to installit in Linux distributions like CentOS 7, using SoftwareCollections.org.
      • Or follow the directions hereto install it from the PostgreSQL Global Development Group repositories.
    sudo postgresql-setup initdb
    sudo grep -q '^local\s' /var/lib/pgsql/data/pg_hba.conf || echo "local all all trust" | sudo tee -a /var/lib/pgsql/data/pg_hba.conf
    sudo sed -i.bak 's/\(^local\s*\w*\s*\w*\s*\)\(peer$\)/\1trust/' /var/lib/pgsql/data/pg_hba.conf
    sudo systemctl enable postgresql
    sudo systemctl start postgresql
    sudo -u postgres psql -c "CREATE ROLE root SUPERUSER LOGIN PASSWORD 'smartvm'"
    # This command can return with a "could not change directory to" error, but you can ignore it
    
Ubuntu / Debian
  • Install Packages

    sudo apt install git                              # Git and components
    sudo apt install memcached                        # Memcached for the session store
    sudo apt install postgresql libpq-dev             # PostgreSQL Database server and to build 'pg' Gem
    sudo apt install bzip2 libffi-dev libreadline-dev # For rbenv install 2.3.1 (might not be needed with other Ruby setups)
    sudo apt install libxml2-dev libxslt-dev patch    # For Nokogiri Gem
    sudo apt install libsqlite-dev libsqlite3-dev     # For sqlite3 Gem
    sudo apt install nodejs nodejs-legacy npm         # For ExecJS Gem, bower, npm, yarn, webpack.. - needs at least 6.0.0
    sudo apt install g++                              # For unf Gem
    sudo apt install libcurl4-gnutls-dev              # For Curb
    sudo apt install cmake                            # For rugged Gem
    sudo apt install libgit2-dev pkg-config libtool
    sudo apt install libssl-dev                       # for puma < 3.7.0
    

    If your node version is less than 6.0 (debian currently has 4), you can either install it from the experimental repo:

    echo 'deb http://ftp.debian.org/debian/ experimental main non-free contrib' | sudo tee /etc/apt/sources.list.d/experimental.list
    sudo apt update
    sudo apt install nodejs nodejs-legacy npm
    

    Alternatively, you can use nvm to install a node version locally (similar to rbenv).

  • Ubuntu fix for failing Bundler

    sudo apt remove libssl-dev
    wget http://ftp.cz.debian.org/debian/pool/main/o/openssl1.0/libssl1.0-dev_1.0.2l-2_amd64.deb
    wget http://ftp.cz.debian.org/debian/pool/main/o/openssl1.0/libssl1.0.2_1.0.2l-2_amd64.deb
    sudo dpkg -i libssl1.0-dev_1.0.2l-2_amd64.deb libssl1.0.2_1.0.2l-2_amd64.deb
    
  • Enable Memcached

    sudo systemctl enable memcached
    sudo systemctl start memcached
    
  • Configure PostgreSQL

    sudo grep -q '^local\s' /etc/postgresql/9.5/main/pg_hba.conf || echo "local all all trust" | sudo tee -a /etc/postgresql/9.5/main/pg_hba.conf
    sudo sed -i.bak 's/\(^local\s*\w*\s*\w*\s*\)\(peer$\)/\1trust/' /etc/postgresql/9.5/main/pg_hba.conf
    sudo systemctl restart postgresql
    sudo su postgres -c "psql -c \"CREATE ROLE root SUPERUSER LOGIN PASSWORD 'smartvm'\""
    
Mac
  • Install Homebrew

    If you do not have Homebrew installed, go to the Homebrew website and install it.

  • Install Packages

    brew install git
    brew install pkg-config
    brew install memcached
    brew install postgresql
    brew install cmake
    brew install node
    brew install yarn
    

    If your node version is less than 6, you may need to brew upgrade node and brew link node.

  • Configure and start PostgreSQL
    • Required PostgreSQL version is 9.4, 9.5
    # Enable PostgreSQL on boot
    mkdir -p ~/Library/LaunchAgents
    ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
    # Create the ManageIQ superuser
    psql -d postgres -c "CREATE ROLE root SUPERUSER LOGIN PASSWORD 'smartvm'"
    
  • Start memcached

    # Enable Memcached on boot
    ln -sfv /usr/local/opt/memcached/homebrew.mxcl.memcached.plist ~/Library/LaunchAgents
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist
    

Install Ruby and Bundler

  • Use a Ruby version manager (choose one)
  • Required Minimum Ruby version is 2.3.1+
  • Required Minimum Bundler version is 1.8.7+

Setup Git and Github

  • The most reliable authentication mechanism for git uses SSH keys.
    • SSH Key Setup Set up a SSH keypair for authentication. Note: If you enter a passphrase, you will be prompted every time you authenticate with it.
  • Github account setup Account Settings.
    • Profile: Fill in your personal information, such as your name.
    • Profile: Optionally set up an avatar at gravatar.com. When you set up your gravatar, be sure to have an entry for the addresses you plan to use with git / Github.
    • Emails: Enter your e-mail address and verify it, click the Verify button and follow the instructions.
    • Notification Center / Notification Email / Custom Routing: Change the email address associated with ManageIQ if desired.
    • If you are a member of the ManageIQ organization:
      • Go to the Members page.
        • Verify you are listed.
        • Optionally click Publicize Membership.
  • Fork ManageIQ/manageiq:
  • Git configuration and default settings.

    git config --global user.name "Joe Smith"
    git config --global user.email joe.smith@example.com
    git config --global --bool pull.rebase true
    git config --global push.default simple
    

    If you need to use git with other email addresses, you can set the local user.email from within the clone using:

    git config user.name "Joe Smith"
    git config user.email joe.smith@example.com
    

Clone the Code

git clone git@github.com:JoeSmith/manageiq.git # Use "-o my_fork" if you don't want the remote to be named origin
cd manageiq
git remote add upstream git@github.com:ManageIQ/manageiq.git
git fetch upstream

You can add other remotes at any time to collaborate with others by running:

git remote add other_user git@github.com:OtherUser/manageiq.git
git fetch other_user

Javascripty things

Make sure your node version is at least 6.0.0. If not, you can use nvm to install a node version locally (similar to rbenv).

Note: you may need to run the npm install -g commands using sudo if you get permission errors, but if your node environment is up to date you should be able to install without sudo. If you do get these errors and you don’t want to use sudo, you can configure npm to install packages globally for a given user.

  • Install the Bower package manager

    npm install -g bower
    
  • Install the Yarn package manager

    Follow official instructions or

    npm install -g yarn
    
  • Install the Gulp and Webpack build system

    npm install -g gulp-cli
    npm install -g webpack
    

Get the Rails environment up and running

bin/setup                  # Installs dependencies, config, prepares database, etc
bundle exec rake evm:start # Starts the ManageIQ EVM Application in the background
  • You can now access the application at http://localhost:3000. The default username is admin with password smartvm.
  • There is also a minimal mode available to start the application with fewer services and workers for faster startup ortargeted end-user testing. See the minimal mode guide for details.
  • As an alternative to minimal mode, individual workers can also be started using Foreman
  • To run the test suites, see the guide on that topic.

Update dependencies and migrate db

  • You can update ruby and javascript dependencies as well as run migrations using one command
bin/update                # Updates dependencies using bundler and bower, runs migrations, prepares test db.

For provider, UI or other plugin development, see the guide on that topic.

Some troubleshooting notes
  • First login fails

Make sure you have memcached running. If not stop the server with bundle exec rake evm:stop,start memcached and retry.

  • bin/setup fails while trying to load the gem ‘sprockets/es6’

If this happens check the log forExecJS::RuntimeUnavailable: Could not find a JavaScript runtime a few lines down.When this message is present, then the you need to install node.js and re-try

  • bin/setup fails while trying to install the ‘nokogiri’ gem

If this happens, you may be missing developer tools in your OS X. Try to install them withxcode-select --install and re-try.

  • bin/setup fails to install the ‘sys-proctable’ gem, or installs the wrong version.

If this happens it may be a Bundler issue. Try running bundle config specific_platform trueand re-try.

  • Can’t install any gems during bundle install
# install all dependencies to a local path
bundle install --path vendor/bundle
  • Can’t install nokogiri-1.7.2 on a Mac
# install dependencies
brew install pkgconfig
brew install libxml2

# test the gem can be compiled with the right libxml2
export PKG_CONFIG_PATH=/usr/local/opt/libxml2/lib/pkgconfig
gem install nokogiri -v 1.7.2 -- --use-system-libraries

# configure bundle to do so
bundle config build.nokogiri --use-system-libraries --with-xml2-include=$(brew --prefix libxml2)/include/libxml2
  • Can’t install sys-proctable on a Mac - a package missing even after bundle install succeeded
bundle config specific_platform true
bundle install
  • If everything is hosed after an OSX upgrade

Install xcode developer tools

xcode-select --install

Uninstall existing ruby version with your version managerReinstall rubies with version manager


RabbitMQ 是一个流行的开源消息队列系统,它提供了强大的分布式消息传递能力。为了更好地管理和监控 RabbitMQ 集群,开发者和运维人员会使用一些可视化工具,帮助他们直观地查看节点状态、交换机、队列、消费者和生产者等关键信息。以下是一些常用的 RabbitMQ 可视化工具: 1. **RabbitMQ Management Plugin** (内置插件):这是最基础的监控工具,是 RabbitMQ 官方提供的,可以通过浏览器直接访问 http://localhost:15672/ 来查看管理界面,包含实时监控和配置选项。 2. **Visual Studio Code extensions**: VSCode 中有多个扩展可以提供对 RabbitMQ 的集成支持,如 `rabbitmq-extension` 和 `rabbitmq-lens`,这些可以实时显示队列和连接等信息。 3. **Nagios/Icinga** 或 **Zabbix**:这些流行的 IT 监控平台可以与 RabbitMQ 健康检查插件(如 `rabbitmq-nagios-plugin`)配合,用于远程监控和警报。 4. **RabbitMQ Explorer** (第三方工具): 这是一个图形用户界面工具,提供详细的消息管理和配置查看功能,适用于 Windows 和 Linux 平台。 5. **Prometheus + Grafana**: 开发者可以利用 Prometheus 的 RabbitMQ Exporter 收集指标数据,并通过 Grafana 进行可视化展示,提供定制化的监控图表。 6. **Kibana + Elastic Stack**: 如果你已经使用 Elasticsearch 和 Kibana,可以结合 RabbitMQ 的 Logstash 输入插件收集日志并进行分析。 7. **ManageIQ**: 这是一个开源的 IT 自动化管理平台,可以集成 RabbitMQ 的监控和操作。 8. **RocketMQ Dashboard**: 对于基于 RocketMQ 的监控,有第三方工具如 RocketMQ Dashboard 提供可视化界面。 相关问题: 1. RabbitMQ Management Plugin 的主要功能是什么? 2. Visual Studio Code 的 RabbitMQ 插件如何帮助开发者? 3. Nagios/Icinga 和 Zabbix 如何集成 RabbitMQ 检测? 4. 使用 Prometheus 和 Grafana 可以获取哪些关于 RabbitMQ 的监控数据? 5. Kibana 可以如何展示 RabbitMQ 的性能指标?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值