Шаги по установке проекта zf2 на Jenkins mkdir /path/to/your/project 1. Установите композитор
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Примечание. Если вышеуказанное не удается из-за разрешений, снова запустите строку mv с помощью sudo. Быстрая версия для копирования и вставки, включая sudo:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
создайте файл composer.json в корневом каталоге проекта, добавьте все необходимые пакеты
{ "name": "amarjitsingh", "description": "amarjitsingh", "license": "BSD-3-Clause", "keywords": [ "framework", "zf2" ], "homepage": "http://domain.com/", "require": { "php": ">=5.5", "zendframework/ zendframework": "~2.5", "phpoffice/phpword": "dev-master", "doctrine/doctrine-orm-module": "0.7.0", "imagine/Imagine": "0.5.*", "zf -commons/zfc-user": "dev-master" }, "autoload": { "psr.0": "/module" }
}
запустите «composer install
», чтобы установить эти пакеты.
настройте git на своем компьютере, если вы используете Ubuntu, вы можете настроить GIT, используя следующие команды
sudo apt-get обновить sudo apt-get установить git
Настроить Git
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
проверьте список конфигураций
git config --list
как только вы настроите GIT, тогда c
cd /path/to/your/project
. после того, как вы установили пакеты, создайте файл «.gitignore
» в документе root
и добавьте в него 'vendor'
.
git init
git remote add origin https://[email protected]/username/zf2ci.git
примените команду ниже, чтобы добавить, зафиксировать и отправить файлы
git add .
git commit -m 'Initial commit with contributors'
git push -u origin master
git pull
используя облако, вы можете использовать AWS. Я использую цифровой океан
1 создайте droplet
2. назовите его как хотите, в моем случае это zf2ci 3. выберите пакет 4. выберите ОС мой случай Ubuntu 14.04 5. На вкладке приложений выберите LAMP 6 когда вы закончите с этим, вы получите IP-адрес , имя пользователя root и пароль. 7. войдите в систему с помощью замазки 8. пользователь root
9. пароль pass
10. как только вы войдете в него, вам будет предложено изменить пароль 11. перейти к веб-корню, например, /var/www/html
12. установить GIT 13. apt-get install git
14. клонировать репо 15. git clone https://[email protected]/username/zf2ci.git
16. установить композитор на эту машину
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Примечание. Если вышеуказанное не удается из-за разрешений, снова запустите строку mv с помощью sudo. Быстрая версия для копирования и вставки, включая sudo:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
- перейти к пути приложения
/var/ww/html/zf2ci
- запустите '
composer install --no-dev
', мы устанавливаем его без опции dev, потому что мы устанавливаем только проверенный код на сервер приложений
Шаг 3
Создайте сервер Jenkins 1. настройте еще один дроплет для Jenkins 2. image ubuntu 3. установите лампу установите Jenkns
Установка Jenkins Прежде чем мы сможем установить Jenkins, мы должны добавить ключ и список источников в apt. Это делается в 2 шага, сначала мы добавим ключ.
1.1
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -
Во-вторых, мы создадим список источников для Jenkins.
1.2
echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list
1.3 Теперь нам нужно только обновить кеш apt, прежде чем мы сможем установить Jenkins.
apt-get update
1.4 Поскольку кеш обновлен, мы можем приступить к установке Jenkins. Обратите внимание, что Jenkins имеет большое количество зависимостей, поэтому установка их всех может занять некоторое время.
apt-get install jenkins
1.5 открыть ip с портом 8080 например http://127.0.0.1:8080
1.6 установить git на сервер jenkins
sudo apt-get update
sudo apt-get install git
1.7 установить композитор
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
1.8 включить аутентификацию пользователя
1.9 enable bitbucket plugin
для Jenkins 1.9.1 Manage Jenkins->Manage Plugins->Bitbucket Plugin->download
и установить 1.9.2 создать задание создать задание-> имя проекта (например, zf2ci)-> управление исходным кодом (git) предоставить URL-адрес ssh ([email protected]:username/zf2ci.git
)-> ветки для сборки (*/master) это ветка, в которой каждый раз, когда любой пользователь фиксирует и объединяет код с основной веткой, вызывается Jenkins
1.9.3 Триггеры сборки выберите опцию (сборка при нажатии изменения), это сработает, когда мы создадим хук POST на битовом ведре.
1.9.4 Сборка->Выполнить оболочку
composer install
./vendor/bin/phpunit ./tests
наши тесты сидит intests dir
1.9.5 установить ssh key pair
войти в jenkins serevr через шпатлевку
su jenkins
cd
ls -la( check what is in the jenkins home directory)
ssh-kegen -t rsa (dsa by default but choose rsa key ,it is faster)
press enter(on path)
press enter(leave the pass phrase empty , the whole point here is to avoid passwords in the automated jobs)
pres enter
cd .ssh
ls -la
(там вы найдете id_rsa.pub
) файл
cat id_rsa.pub
(выделить все и скопировать содержимое файла)
1.9.6 перейти к битбакету, переключиться на репозиторий zf2ci, перейти к настройкам, нажать ключи развертывания-> добавить ключ добавить метку (jenkins) ключ * (вставьте сюда содержимое файла id_rsa.pub) сохранить ключ
summary
`zf2ci->settings->deployment keys->add key->type` label and paste id_rsa.pub key->save
1.9.7 зарегистрировать хук POST для репо
Settings->
Integrations->
Hooks->
POST(search for POST Hook)->
Add the url /IP of the Jenkins Server) (`172.62.235.100:8080/bitbucket-hook/`)
(the body of the post contanis information about the repository, branch, list of recent commits, user)
1.9.8 войти на сервер Jenkins
su jenkinks
cd
cd .ssh
git ls-remote -h ssh://[email protected]:username/zf2ci.git HEAD
1.9.9 Проект save
на Jenkins 1.9.10 добавьте следующую команду в Execute Shell-> command [rsync -y -vrzhe "ssh -o StrictMostKeyChecking=no" --exclude vendor/ . root@ipaddress:/var/www/html/zf2ci
(сервера приложений)]
ssh root@ipaddress<<EOF
cd /var/www/html/zf2ci
composer install --no-dev
EOF
person
amarjit singh
schedule
01.10.2015