bingoogolapple / bingoogolapple.github.io

个人主页。同时也通过 Issues 记录学习笔记
http://www.bingoogolapple.cn
86 stars 22 forks source link

开源镜像学习笔记 #154

Open bingoogolapple opened 7 years ago

bingoogolapple commented 7 years ago

清华大学开源软件镜像站

安装 Docker

curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
bingoogolapple commented 7 years ago

安装 ShadowSocks

docker run -d -m 192M -p 8003:8003 -p 6660-6680:6660-6680 --name bga-ss bingoogolapple/bga-ss:v3
upstream kexueshangwang {
    server 127.0.0.1:8003;
    ip_hash;
}

server {
    listen 80;
    server_name kexueshangwang.bingoogolapple.cn;

    location / {
      proxy_set_header        Host $host:$server_port;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      proxy_pass          http://kexueshangwang;
      proxy_read_timeout  90;
    }
}
bingoogolapple commented 5 years ago

GitLab

http://blog.gezhiqiang.com/2017/03/01/gitlab-ce-install/ https://cloud.tencent.com/developer/article/1010595 https://segmentfault.com/a/1190000012279248

启动新的容器

docker run --detach -m 2048M --hostname gitlab.bingoogolapple.cn --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.bingoogolapple.cn:9080';nginx['listen_port'] = 80;gitlab_rails['gitlab_ssh_host'] = 'gitlab.bingoogolapple.cn';gitlab_rails['gitlab_shell_ssh_port'] = 9022;unicorn['worker_processes'] = 2;postgresql['shared_buffers'] = '128MB';postgresql['max_worker_processes'] = 4;sidekiq['concurrency'] = 12;" --publish 9080:80 --publish 9022:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

/opt/nginx/conf/vhost/gitlab.bingoogolapple.cn.conf

upstream gitlab {
    server 127.0.0.1:9080;
    ip_hash;
}

server {
    listen 80;
    server_name gitlab.bingoogolapple.cn;

    location / {
        proxy_set_header        Host $host:$server_port;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;

        proxy_pass          http://gitlab;
        proxy_read_timeout  90;
    }
}

~/.ssh/config

Host gitlab.bingoogolapple.cn
    User bingoogolapple
    Hostname gitlab.bingoogolapple.cn
    IdentityFile ~/.ssh/bga_rsa

代理 ssh(这一步不用配置)

stream {
    upstream ssh_gitlab {
        server 127.0.0.1:9022;
    }

    server {
        listen 9023;
        proxy_connect_timeout 20s;
        proxy_pass ssh_gitlab;
    }
}
bingoogolapple commented 5 years ago

GitLab Runner

docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest

https://scarletsky.github.io/2016/07/29/use-gitlab-ci-for-continuous-integration/ http://blog.gezhiqiang.com/2017/03/01/gitlab-runner-install/

bingoogolapple commented 5 years ago

Jenkins

Master 节点

docker run -d -m 1024M --name jenkins-master -v jenkins-master-home:/var/jenkins_home -p 8010:8080 -p 50010:50000 jenkins/jenkins:lts
upstream ci {
    server 127.0.0.1:8010;
    ip_hash;
}

server {
    listen 80;
    server_name ci.bingoogolapple.cn;

    location / {
        proxy_set_header        Host $host:$server_port;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;

        proxy_pass          http://ci;
        proxy_read_timeout  90;
    }
}

jnlp-slave 节点

docker run -d -m 128M --name jenkins-slave1 --env JENKINS_AGENT_WORKDIR=/home/jenkins/agent --env JENKINS_URL=http://ci.bingoogolapple.cn --env JENKINS_TUNNEL=ci.bingoogolapple.cn:50010 --env JENKINS_SECRET=f6c4ac8e64f986d363ca732fc7e0da9e7bf7ec1b75e65d2af7900787e4596f62 --env JENKINS_AGENT_NAME=jenkins-slave1 jenkins/jnlp-slave

image

ssh-slave 节点

docker stop jenkins-master jenkins-slave1 jenkins-slave2 && docker rm jenkins-master jenkins-slave1 jenkins-slave2 && docker volume rm jenkins-master-home
bingoogolapple commented 5 years ago

MySQL

导出 attendance_sys 数据库

docker exec as_mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > ~/Desktop/DockerData/all-databases.sql

导出 attendance_sys 数据库

docker exec as_mysql sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" attendance_sys' > ~/Desktop/DockerData/attendance_sys.sql

恢复 attendance_sys 数据库

docker exec -it as_mysql bash
mysql -u root -p$MYSQL_ROOT_PASSWORD
use attendance_sys;
source /attendance_sys.sql;