Mac installation gitlab-ci-multi-runner running sonar

  sonar

Installing maven

wget http://apache-mirror.rbc.ru/pub/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar xzvf apache-maven-3.3.9-bin.tar.gz
export PATH=apache-maven-3.3.9/bin:$PATH
export PATH=/usr/local/bin/apache-maven-3.3.9/bin:$PATH

Install gitlab-ci-multi-runner

If gitlab is version 8, it is sad.

Because of this Runner >= 9.0 requires GitLab CE/EE >= 9.0 and will not work
with older GitLab versions.

Because in the official document,Install on macOS

sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-darwin-amd64

This installed version is not compatible with gitlab8, and tears are flowing.

Solution, Install Specified Version
https://gitlab-ci-multi-runne …
Download binaries/gitlab-ci-multi-runner-Darwin-amd64 from here
Then

cp gitlab-ci-multi-runner-darwin-amd64 /usr/local/bin/gitlab-ci-multi-runner
chmod +x /usr/local/bin/gitlab-ci-multi-runner

Configuration

➜  ~ gitlab-ci-multi-runner register
WARNING: Running in user-mode.
WARNING: Use sudo for system-mode:
WARNING: $ sudo gitlab-runner...

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://gitlab.xxx.com.cn/ci
Please enter the gitlab-ci token for this runner:
xxxx-xxxxx
Please enter the gitlab-ci description for this runner:
[xxxx-Pro.local]: sonar-maven-java8
Please enter the gitlab-ci tags for this runner (comma separated):
maven
Whether to run untagged builds [true/false]:
[false]: true
Registering runner... succeeded                     runner=zm4f-eFf
Please enter the executor: docker-ssh, virtualbox, docker+machine, docker-ssh+machine, docker, parallels, shell, ssh, kubernetes:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

run

gitlab-ci-multi-runner install
gitlab-ci-multi-runner start
gitlab-ci-multi-runner run

Configure gitlab runner environment variables

vim ~/.gitlab-runner/config.toml

Complete as follows

concurrent = 1
check_interval = 0

[[runners]]
  name = "sonar-maven-java8"
  url = "http://gitlab.xxxx.com.cn/ci"
  token = "xxxxxx"
  environment = ["MAVEN_HOME=/Users/xxxx/xxxx/build/apache-maven-3.3.9"]
  executor = "shell"
  [runners.cache]

Configure settings for maven

vim ~/.m2/settings.xml

Complete as follows

<settings>
    <mirrors>
        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror> 
    </mirrors>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>SONAR_HOST_URL</sonar.host.url>
                <!--<sonar.jdbc.url>SONAR_JDBC_URL</sonar.jdbc.url>-->
                <!--<sonar.jdbc.username>SONAR_JDBC_USER</sonar.jdbc.username>-->
                <!--<sonar.jdbc.password>SONAR_JDBC_PWD</sonar.jdbc.password>-->
                <sonar.sourceEnconding>UTF-8</sonar.sourceEnconding>
            </properties>
        </profile>
    </profiles>
</settings>

After that, it was basically completed.

doc