LaraDock build using GitLab CI build process? stumped on how to implement

Hi All,

I am pretty new to the whole docker / continuous integration stuff as a whole. I will briefly explain what I am trying to accomplish here and see what kind of input you guys can give me.

My hosting is through digital ocean, I had read into the gitlab/digital ocean integration stuff so I decided to jump in head first. It had me create a docker droplet using ubuntu 14.04. I have gone through all the steps to successfully setup my gitlab runner and have it registered and working. The framework that I am using for my site is laravel 5.

Since I am new to Docker, I did a little research and came across a neat packaged deal that sets up a nice clean laravel enviornment in a few simple steps. its called LaraDock http://laradock.github.io/laradock/

It was a pretty seamless setup and seems to work great, the only problem i have is when it comes to doing my build process. I just really don’t know the best way of going about implementing it. I had it… kind of working? when i setup my config.toml file to have the executor be “shell” instead of “docker”

when it was set to shell I could run through the steps in the laradock documentaion and it “seemed” to work until I got to the step where I want to enter the workspace container via this command

docker exec -it {Workspace-Container-Name} bash

The main issue with this above is that it fails with the following error “cannot enable tty mode on non tty input” and I haven’t really found a way around that to let me get inside the workspace to run my different composer functions/migrations/etc. This is what my .gitlab-ci.yml file looks like and it works except for the last step.

before_script:
  - docker info

build_image:
  script:
    - git clone https://github.com/LaraDock/laradock.git
    - cd laradock
    - docker-compose up -d  nginx mysql redis workspace
    - docker exec -it laradock_workspace_1 bash

any suggestions on this would be greatly appreciated.

-Jeremy

any direction would be helpful, just not sure exactly the best way to move forward with this.

I’ve got the same Problem (LaraDock + Gitlab CI + Docker + Runner + Digital Ocean).
Would appreciate help.

+1

anybody?

Hi jdseibe,
I decided to not use the CI feature first and get Laradock up an running and it was pretty easy.
In the laradock-folder ist another folder called “_guides” which contains some useful Information.

Here is the solution for your “Workspace”-Problem:
(Taken from the digitalocean-guid)
"

Create Your LaraDock Containers

$root@midascode:~/laravel/laradock# docker-compose up -d nginx mysql

Go to Your Workspace

docker-compose exec workspace bash

Install laravel Dependencies, Add .env , generate Key and give proper permission certain folder

$ root@0e77851d27d3:/var/www/laravel# composer install
$ root@0e77851d27d3:/var/www/laravel# cp .env.example .env
$ root@0e77851d27d3:/var/www/laravel# php artisan key:generate
$ root@0e77851d27d3:/var/www/laravel# exit
$root@midascode:~/laravel/laradock# cd ..
$root@midascode:~/laravel# sudo chmod -R 777 storage bootstrap/cache

"

I even got caddy + Let’s encrypt working pretty easy.

I hope this helped. Will post a CI solution if I get it working.

Cheers, Enaah