Setting up GitLab CI on server with GitLab already installed - continuous-integration

I have a server running CentOS 6.5, and I have already installed GitLab on it. I wanted to install GitLab CI as well - will installing it overwrite my current GitLab installation or is it completely separate from it?

I use both GitLab and GitLab CI all on the same host and it works fine - they are totally separate applications and work well together. Each application is installed into it's own home. I don't, but you could also run the GitLab CI Runner on the same box too.
Just follow the GitLab CI how-to and you'll be up and running in no time!
https://github.com/gitlabhq/gitlab-ci/blob/5-2-stable/doc/install/installation.md

A possible approach would be to use:
Docker
a DockerFile (like darthmuffins/gitlab-ci-runner-centos/Dockerfile, or the project sameersbn/docker-gitlab-ci-runner) in order to make a separate GitLab CI instance (running on the same server but acting like its own independent server).
In your case, that might be difficult, since CentOS 6.5 is built from the source packages of RHEL 6 update 5 (also known as RHEL version 6.5, kernel 2.6.32-431), which means Docker might not be fully supported.

Related

What is the recommended way to develop docker containers for Linux on Windows?

Background
I am developing a Spring Boot application that will be deployed on Linux Redhat.
As this is a Java application, I can develop on Windows 10 and this is my preference.
To simplify deployment, I have dockerized the application.
Objectives
I would like to test the container on my Windows 10 development computer:
Without installing a VM
Without using Hyper V as a VM.
Without WSL 2.0 (WSL 1.0 can be used)
I need to create a volume so that data written by the container can be accessed on the Windows host during and after the container runs.
The scripts I write to load and run the docker should be as similar as possible as those I will use to deploy on the target Linux Redhat server.
What I have tried
I have installed Docker for Windows on my Windows PC and followed the documentation to allow me to run docker in WSL 1.0.
There are a number of tweaks that need to be done to make this work, and I am still not able to configure a volume to meet my requirement.
Curiously, I happened to try to run the container using docker on from a Windows command prompt and it seems to run too. (though volumes still do not work here either).
This surprised me because I thought that a Linux image can only be loaded into a Linux OS as docker does not run the container in a VM.
My questions
Can I indeed test my Linux container using the Windows prompt or may I run into issues down the road? (issues meaning differences in deployment and run time behavior compared to deployment and running on the Linux target machine).
If a Linux container can run from the Windows prompt, do I even need WSL to run the docker on my windows PC?
What are the advantages, if any, of using WSL to test and test the container in development considering the fact that docker on WSL 1.0 seems to require a little work to get running "flawlessly" on Windows?

build Docker images from GitLab

The last two weeks I'm searching for ways to automate the build of apps and as docker images/containers on Windows. There are some issues building containers currently:
GitLab runner issue
What I've done:
Running selfhosted GitLab installation
Windows 2016 trial
Docker is installed, docker -Version works
GitLab multirunner installed
Configured Runner in GitLab
HelloWorld Example build with runner worked
I'm wondering if there is somebody that could share some knowlegde about building Windows docker images from a GitLab repro.
The reason I would like to use Windows is a work related tryout :)

Mupx setup hangs on Installing Docker

The installer hangs when I use mupx setup on the first thing in the TaskList, Installing Docker. I can't get the DEBUG=* mupx setup to work because DEBUG is not recognized as an internal or external command.
Server is through Linode, and the OS is Ubuntu 16.04. I'm running Windows 8.1. My project works fine on my end but I can't figure out mupx enough to get it over. Docker is working fine on my computer as well as on my server from what I can tell.
How can I get the DEBUG to work (either a setting or a download)? Or is this a common issue someone can walk me through?
Did you run "mupx setup" first? That will install Docker and setup a new container on the remote server you entered into your local mup.json file

Can I run Xcode in a docker container?

Can I run Xcode in a docker container? I'd like to dockerise an Xcode CI system, just wondering if this is possible.
This answer is now likely to be out of date as it was written in 2015. It may still be useful as reference to reproduce the same
--
This repo from Docker Hackathon 2015 describes how to build and run iOS apps with the docker client. Is that what you're after?
Watch the video:
https://www.youtube.com/watch?v=CGHOH9Ocl1k
Secret sauce is in server.js that implements a REST API to simulate a docker server. So in fact it's not actually running iOS in a real Linux docker server - rather it implements the docker API and then acts as a proxy to ios-sim (run) and XCode (build).
Look at Docker-OSX which runs macOS with Xcode support inside Docker.
You can connect to that macOS via SSH or VNC and use Xcode on Linux
Circle CI has an option to use Xcode in a container. Here is an excerpt of my ci pipleline config:
ios-build-env: &ios-build-env
macos:
xcode: "11.4.1"
jobs:
ios-deploy:
<<: *ios-build-env
steps:
- checkout
...
Circles docs:
https://circleci.com/docs/2.0/testing-ios/

Linux Hudson, Windows build

I have Hudson installed on Linux. Compiling and testing Linux releases works fine. But I would like to build and test also Windows releases using Visual Studio. I already have .bat script that runs building, but I don't know how can I connect it to Hudson.
Why not just install Hudson on a Windows machine and have it build the same code set?
You should use the Slave launchers, for example:
ssh slaves
copy to slave
You may need to install an ssh server on your windows computer.

Resources