一、docker服务搭建
1.安装git docker docker-composer
相关文档:
ubuntu->dockerInstall
这块代码久了不要全部复制一次性跑,要一条一条跑
1、2、3、步完成相当于docker安装好了 hello world也试一下确认一下
docker_compose的安装与使用
2.将这两个文件放入对应位置
devops/docker-compose.override.yml
source/docroot/sites/default/local-db.settings.php
3.git checkout develop
后阅读read.me
4.composer 装一个module需要配置sudo vim /var/cache/hobs/composer/auth.json
{
"bitbucket-oauth": {},
"http-basic": {
"github.com": {
"username": "****",
"password": "***********"
}
},
"gitlab-oauth": {},
"gitlab-token": {}
}
5.跑./devops/scripts/composer.sh install
6.docker ps
看下容器起来了没有
7../devops/scripts/docker.sh stop
也可以把项目的停掉试试
8.数据库导入完之后, ./devops/scripts/drush.sh cim -y
同步下配置(这一步不一定需要
9../devops/scripts/drush.sh st
查看返回
大佬缩减版:
起docker环境:
cd devops
cp docker-compose.ci.override.yml docker-compose.override.yml
保留里面的 web-server
和 database
就够了
然后执行:./scripts/docker.sh start
安装PHP依赖
cd source
composer install
安装主题依赖
cd source/docroot/themes/custom/项目名称_theme
npm run build
主要补充了安装主题依赖的步骤
二、前端拿到一个drupal项目怎么起环境
总共三步:
1、首先确认.env 文件已经存在devops文件夹下,如果没有,去devops/templates/.env.tpl路径复制并且自己生成.env文件。
### Setup the environment variables
* Make sure the .env file is existed under the devops folder, if not you can copy from devops/templates/.env.tpl. And complete&fill the envirionment values in your .evn file, see the complete environment variables below
COMPOSE_PROJECT_NAME=cmdb
PROJECT_KEY=cmdb
PHP_VERSION=7.1
MYSQL_VERSION=5.6.41
MYSQL_DB_NAME=your_db_name
MYSQL_USER=your_db_user
# It's required only when your project is managed by composer, relevent path to your git root
COMPOSER_FOLDER_PATH="source"
# It's required only when your resource(JS/CSS/Images) files are needed to be built by node, relevent path to your git root
NODE_FOLDER_PATH="source/docroot/sites/all/themes/custom/theme_name"
2、从devops/templates/docker-compose.override.yml.tpl路径复制这个文件到devops文件夹下并命名为"docker-compose.override.yml"
### Setup the docker-compose.override.yml file
* Copy devops/templates/docker-compose.override.yml.tpl to your devops folder with name "docker-compose.override.yml". Make any addtional changes according to your local environment, see an example below
```yml
version: '2'
services:
nginx:
ports:
- "8100:80"
- "443:443"
web-server:
volumes:
- ../source/docroot:/var/www/html/
ports:
- "8300:80"
* [Optional] If you want to use your local database inside the docker container, you need to make sure the docker-compose.override.yml file is created under the devops folder. And append the envirionment values ( MYSQL_PASSWORD, MYSQL_ROOT_PASSWORD ) under database section in the docker-compose.override.yml file. see an example below
```yml
database:
environment:
- MYSQL_PASSWORD=your_password
- MYSQL_ROOT_PASSWORD=your_password
3、连接本地数据库,一般情况下如果没有设置settings.local.db.php文件的情况下可能会直接连到ci的数据库。确保source/docroot/app/sites/default/settings.php文件夹最下面的类似于以下代码后,
// Load settings file for local development.
$local_settings_file = DRUPAL_ROOT . "/sites/default/settings.local.db.php";
if (!$is_hosting_env && !$is_test_ci_env && !$is_test_running && file_exists($local_settings_file)) {
require $local_settings_file;
}
写对名字,然后把对应的本地数据库的信息写上去,键值对类似于
<?php
$databases['default']['default'] = [
'database' => 'your databasename',
'username' => 'your username',
'password' => 'your password',
'host' => 'host',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
'collation' => 'utf8mb4_general_ci',
];
SQLyog部分注意连接对的端口和名字,输对密码什么的
补充一点:
之后的项目记得把这个关掉: