如何搞个论坛-Homeland之修改源代码

目录 文章

就在前天简思录分享了一篇【如何搞个论坛-Homeland】,很快就有网友询问我:通过Docker部署Homeland确实很方便,但发现通过Docker方式部署的,无法修改项目源代码。

哈哈,恰好之前我针对Homeland有研究过,今天就顺势接着写一篇【如何搞个论坛-Homeland之修改源代码】。废话不多说了,下面就以我之前的心得为例展开说明:

Github Fork项目

首先就是Fork源代码了

homeland的项目地址为:https://github.com/ruby-china/homeland

其次就是Fork基于Docker封装项目

homeland-docker地址为:https://github.com/ruby-china/homeland-docker

安装Homeland

Fork完成在我的Github账户上的Repositories就会显示如图的两个项目,Github Fork项目这里暂且告一段落了,接下来就到折腾Docker Hub了。

Docker Hub关联Github项目

Docker Hub具有Create Automated Build,也就是说可以将某处的dockerfile与Docker Hub账户的某个repo相关联,然后Docker Hub的该repo就可以在Docker端进行image的自建,而当我们需要该镜像时,直接将该镜像pull下来,不需要在本机进行build 。而Github就是一个存放Docker的地方!

创建Docker Hub账户,这里假设你已经创建好了!

登录Docker Hub后进入个人账户的Settings,找到Linked Accounts & Services并点击进入,然后选择Link Github

Docker Hub关联Github项目

这个时候会跳转到如下页面,选择Public and Private (Recommended)

Public and Private

浏览器会链接到Github网站,自动登录Github账户,如果你还没登录的情况下可能会被要求输入Github账户和密码。

接下来出现如下页面就说明Docker Hub与Github账户已经关联成功了。

自动登录Github账户

这个时候我们就可以通过Docker Hub利用Github上的Dockerfile进行auto-build了。

1、进入Create->Create Automated Build

2、点击Create Auto-build

auto-build

3、这个时候就会出现你关联的Github Repo,这里选择Github中的Homeland-docker

Github Repo

4、跳转到填写Create Automated Build的相关信息的页面,填写好点击Create

Create Automated Build

5、修改Build Settings,Homeland-docker对应的Dockerfile Location是在 /images/homeland/ ,然后点击Save Changes。

Build Settings

  • 注意:只有Github中Repo内容发生变化时,Docker Hub才会进行Auto-Build,当然你手动Auto-Build也可以的。

修改Homeland-docker适配自己Fork的源码

首先修改docker-compose.yml文件,有两处,路径为homeland-docker/images/homeland/,如下参考代码

web:
  container_name: 'homeland_web'
  image: keyboardstaff/homeland:latest
  links:
    - app
    - app_backup
    - worker
app: &app_base
  container_name: 'homeland_app'
  image: keyboardstaff/homeland:latest
  env_file:
    - app.default.env
    - app.local.env
    - app.secret.env

然后再修改Dockerfile文件,路径为:homeland-docker/images/homeland/,如下参考代码

# NAME:     keyboardstaff/homeland
FROM homeland/base:0.2.3

ENV RAILS_ENV 'production'
RUN curl https://get.acme.sh | sh

RUN useradd ruby -s /bin/bash -m -U &&\
    mkdir -p /var/www &&\
    cd /var/www &&\
    git clone https://github.com/keyboardstaff/homeland.git --depth 1
RUN cd /var/www/homeland && bundle install --deployment &&\
    find /var/www/homeland/vendor/bundle -name tmp -type d -exec rm -rf {} + &&\
    chown -R ruby:ruby /var/www

WORKDIR /var/www/homeland

最后修改build文件,路径为:homeland-docker/images/homeland/,如下参考代码

docker build -t keyboardstaff/homeland:latest .

至此所有的步骤就完成了,今后就可以愉快的修改Homeland源代码了。然后再通过自己fork的项目安装搭建了!

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注