本篇文章给大家谈谈gitea使用,以及对应的知识,希望对各位有所帮助。
本文目录:
- 1、git合并其中一个提交
- 2、docker快速部署gitlab代码仓库
- 3、基于Docker搭建Gitea
- 4、用 Git 建立和托管网站
- 5、Gogs+Drone搭建教程
git合并其中一个提交
先基于 master 分支创建一个新分支,然后把你想要的 commit 给 cherry-pick 过去,最后在 Gitea 上把那个新分支合并到 master。
git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。
用法:git cherry-pick commit_id(需要合并的提交id)
cherry-pick 过程中也是可能会产生冲突的,解决冲突后先 add,然后使用?git cherry-pick –continue。
docker快速部署gitlab代码仓库
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用 Ruby语言 写成。后来,一部分用 Go语言 重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。
Git、Github、Gitlab的区别:
? Git
一种代码版本管理系统,可以理解为标准或者统称。
? Github
产品名称,基于git开发的代码管理系统,必须公开于互联网上的公共仓库,安全较低,私有项目需要另外付费。
? Gitlab
产品名称,基于git开发的私有代码管理系统,开源免费、可自行管理的私有仓库,安全较高。
? 其它Git
msysGit、 Gitee(码云)、Gitea、 Gogs、 GitBucket类似于Github、Gitlab
下面我们介绍如何用docker快速部署一套功能强大的gitlab-ce社区版代码仓库。
第一步、centos 7.6安装、配置IP、dns、网关等(略)
第二步、安装docker安装,参考作者前几天的文章《centos 7下安装docker》
第三步、安装docker-compose,参考作者前几天的文章《使用docker-compose运行docker容器》
第四步、下载gitlab-ce 13.12.10官方镜像
docker pull gitlab/gitlab-ce:13.12.10-ce.0
第五步、建立相关目录结构,配置目录权限
mkdir -p /data/gitlab/config
mkdir -p /data/gitlab/data
mkdir -p /data/gitlab/logs
第六步、建立docker-compose.yml
cd /data/gitlab vi docker-compose.yml
docker-compose.yml具体配置和说明放本文章后面。
第七步、使用dc up -d起动容器
cd /data/gitlab dc up -d
等待几分钟后服务初始化完成,使用宿主机IP在浏览器上进入gitlab,配置root管理员的密码。一套功能强大的gitlab代码仓库搭建完成,关于gitlab的具使用,后面会推出相关视频/文章说明。
附:docker-compose.yml
version: ‘3.6’ #配置编排的版本
services:
gitlab:
image: gitlab/gitlab-ce:13.12.10-ce.0
TZ: ‘Asia/Shanghai’ #配置容器时区,不会有8小时差异
GITLAB_OMNIBUS_CONFIG: |
external_url ” #服务器访问地址,也可以是域名
gitlab_rails[‘time_zone’] = ‘Asia/Shanghai’ #配置gitlab服务的时区
gitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com” #管理员邮箱smtp地址
gitlab_rails[‘smtp_port’] = 465 #管理员邮箱服务器端口
gitlab_rails[‘smtp_user_name’] = “chenyk@xxxxxx.com” #管理员邮箱地址
gitlab_rails[‘smtp_password’] = “ZSfS11AssBXX” #管理员邮箱密码,配置后才可以给用户发邮件等信息
gitlab_rails[‘smtp_domain’] = “xxxxxx.com” #管理员邮箱域名
gitlab_rails[‘smtp_authentication’] = “login” #管理员邮箱的验证方式为login
gitlab_rails[‘smtp_enable_starttls_auto’] = true #使用安全加密方式登陆管理员邮箱
gitlab_rails[‘smtp_tls’] = true
gitlab_rails[‘gitlab_email_from’] = ‘chenyk@xxxxxx.com’ #管理员邮箱账号
gitlab_rails[‘gitlab_shell_ssh_port’] = 22
ports: #放开gitlab 80端口,后面我们用80端口访问gitlab
– ’80:80′
volumes: #挂载配置、数据持久化、日志目录
– ./config:/etc/gitlab
– ./data:/var/opt/gitlab
– ./logs:/var/log/gitlab
基于Docker搭建Gitea
本来想使用gitlab,不过搭建好了以后,发现资源占用太高,后来重新搭建了gitea( )。gitea官方提供了比较详悉的基于docker的搭建过程( )。
用 Git 建立和托管网站
Git 是一个少有的能将如此多的现代计算封装到一个程序之中的应用程序,它可以用作许多其他应用程序的计算引擎。虽然它以跟踪软件开发中的源代码更改而闻名,但它还有许多其他用途,可以让你的生活更轻松、更有条理。在这个 Git 系列中,我们将分享七种鲜为人知的使用 Git 的方法。
创建一个网站曾经是极其简单的,而同时它又是一种黑魔法。回到 Web 1.0 的旧时代(不是每个人都会这样称呼它),你可以打开任何网站,查看其源代码,并对 HTML 及其内联样式和基于表格的布局进行反向工程,在这样的一两个下午之后,你就会感觉自己像一个程序员一样。不过要让你创建的页面放到互联网上,仍然有一些问题,因为这意味着你需要处理服务器、FTP 以及 webroot 目录和文件权限。虽然从那时起,现代网站变得愈加复杂,但如果你让 Git 帮助你,自出版可以同样容易(或更容易!)。
Hugo 是一个开源的静态站点生成器。静态网站是过去的 Web 的基础(如果你回溯到很久以前,那就是 Web 的全部了)。静态站点有几个优点:它们相对容易编写,因为你不必编写代码;它们相对安全,因为页面上没有执行代码;并且它们可以非常快,因为除了在页面上传输的任何内容之外没有任何处理。
Hugo 并不是唯一一个静态站点生成器。 Grav 、 Pico 、 Jekyll 、 Podwrite 以及许多其他的同类软件都提供了一种创建一个功能最少的、只需要很少维护的网站的简单方法。Hugo 恰好是内置集成了 GitLab 集成的一个静态站点生成器,这意味着你可以使用免费的 GitLab 帐户生成和托管你的网站。
Hugo 也有一些非常大的用户。例如,如果你曾经去过 Let’s Encrypt 网站,那么你已经用过了一个用 Hugo 构建的网站。
Hugo 是跨平台的,你可以在 Hugo 的入门资源 中找到适用于 MacOS、Windows、Linux、OpenBSD 和 FreeBSD 的安装说明。
如果你使用的是 Linux 或 BSD,最简单的方法是从软件存储库或 ports 树安装 Hugo。确切的命令取决于你的发行版,但在 Fedora 上,你应该输入:
通过打开终端并键入以下内容确认你已正确安装:
这将打印 hugo 命令的所有可用选项。如果你没有看到,你可能没有正确安装 Hugo 或需要 将该命令添加到你的路径 。
要构建 Hugo 站点,你必须有个特定的目录结构,通过输入以下命令 Hugo 将为你生成它:
你现在有了一个名为 mysite 的目录,它包含构建 Hugo 网站所需的默认目录。
Git 是你将网站放到互联网上的接口,因此切换到你新的 mysite 文件夹,并将其初始化为 Git 存储库:
Hugo 与 Git 配合的很好,所以你甚至可以使用 Git 为你的网站安装主题。除非你计划开发你正在安装的主题,否则可以使用 –depth 选项克隆该主题的源的最新状态:
现在为你的网站创建一些内容:
使用你喜欢的文本编辑器编辑 content/posts 目录中的 hello.md 文件。Hugo 接受 Markdown 文件,并会在发布时将它们转换为经过主题化的 HTML 文件,因此你的内容必须采用 Markdown 格式 。
如果要在帖子中包含图像,请在 static 目录中创建一个名为 images 的文件夹。将图像放入此文件夹,并使用以 /images 开头的绝对路径在标记中引用它们。例如:
你可以在 themes.gohugo.io 找到更多主题,但最好在测试时保持一个基本主题。标准的 Hugo 测试主题是 Ananke 。某些主题具有复杂的依赖关系,而另外一些主题如果没有复杂的配置的话,也许不会以你预期的方式呈现页面。本例中使用的 Mero 主题捆绑了一个详细的 config.toml 配置文件,但是(为了简单起见)我将在这里只提供基本的配置。在文本编辑器中打开名为 config.toml 的文件,并添加三个配置参数:
在你准备发布之前不必(预先)在互联网上放置任何内容。在你开发网站时,你可以通过启动 Hugo 附带的仅限本地访问的 Web 服务器来预览你的站点。
打开 Web 浏览器并导航到 以查看正在进行的工作。
要在 GitLab 上发布和托管你的站点,请为你的站点内容创建一个存储库。
要在 GitLab 中创建存储库,请单击 GitLab 的 “Projects” 页面中的 “New Project” 按钮。创建一个名为 yourGitLabUsername.gitlab.io 的空存储库,用你的 GitLab 用户名或组名替换 yourGitLabUsername。你必须使用此命名方式作为该项目的名称。你也可以稍后为其添加自定义域。
不要在 GitLab 上包含许可证或 README 文件(因为你已经在本地启动了一个项目,现在添加这些文件会使将你的数据推向 GitLab 时更加复杂,以后你可以随时添加它们)。
在 GitLab 上创建空存储库后,将其添加为 Hugo 站点的本地副本的远程位置,该站点已经是一个 Git 存储库:
创建名为 .gitlab-ci.yml 的 GitLab 站点配置文件并输入以下选项:
image 参数定义了一个为你的站点提供服务的容器化图像。其他参数是告诉 GitLab 服务器在将新代码推送到远程存储库时要执行的操作的说明。有关 GitLab 的 CI/CD(持续集成和交付)选项的更多信息,请参阅 GitLab 文档的 CI/CD 部分 。
你的 Git 存储库已配置好,在 GitLab 服务器上构建站点的命令也已设置,你的站点已准备好发布了。对于你的第一个 Git 提交,你必须采取一些额外的预防措施,以便你不会对你不打算进行版本控制的文件进行版本控制。
首先,将构建你的站点时 Hugo 创建的 /public 目录添加到 .gitignore 文件。你无需在 Git 中管理已完成发布的站点;你需要跟踪的是你的 Hugo 源文件。
如果不创建 Git 子模块,则无法在 Git 存储库中维护另一个 Git 存储库。为了简单起见,请移除嵌入的存储库的 .git 目录,以使主题(存储库)只是一个主题(目录)。
请注意,你 必须 将你的主题文件添加到你的 Git 存储库,以便 GitLab 可以访问该主题。如果不提交主题文件,你的网站将无法成功构建。
你也可以像使用 回收站 一样使用 trash:
现在,你可以将本地项目目录的所有内容添加到 Git 并将其推送到 GitLab:
将代码推送到 GitLab 后,请查看你的项目页面。有个图标表示 GitLab 正在处理你的构建。第一次推送代码可能需要几分钟,所以请耐心等待。但是,请不要 一直 等待,因为该图标并不总是可靠地更新。
当你在等待 GitLab 组装你的站点时,请转到你的项目设置并找到 “Pages” 面板。你的网站准备就绪后,它的 URL 就可以用了。该 URL 是 yourGitLabUsername.gitlab.io/yourProjectName。导航到该地址以查看你的劳动成果。
如果你的站点无法正确组装,GitLab 提供了可以深入了解 CI/CD 管道的日志。查看错误消息以找出发生了什么问题。
Hugo(或 Jekyll 等类似工具)只是利用 Git 作为 Web 发布工具的一种方式。使用服务器端 Git 挂钩,你可以使用最少的脚本设计你自己的 Git-to-web 工作流。使用 GitLab 的社区版,你可以自行托管你自己的 GitLab 实例;或者你可以使用 Gitolite 或 Gitea 等替代方案,并使用本文作为自定义解决方案的灵感来源。祝你玩得开心!
via:
作者: Seth Kenlon 选题: lujun9972 译者: wxy 校对: wxy
Gogs+Drone搭建教程
此处是二进制安装,安装过程比较简单,出现问题查看日志即可。
注意官方建议使用Gitea
根据drone.io的文档安装
安装Drone Server和Drone Runner
Runner会去实际执行pipline,如果没有安装运行对应的runner,那么不会执行pipline
此处使用版本2.0.2, 2在搭建的时候前端会出现了bug
在gogs里面检查webhooks 正常,此处的地址会使用DRONE_SERVER_HOST
如果出现错误,尝试修改地址为 drone服务的端口地址
当不存在.drone.yml文件或者仓库没有在drone激活,测试返回的报文可能是dial tcp连接失败。
重新部署只需要停止删除容器 再开启
如果需要删除记录:
ssh部署Demo 以下格式可能是错误的
ymal的语法可以网上找到说明
可以检查yml语法是否正常
docker demo
根据tag执行pipline
本文“gitea使用”内容来自互联网,若侵权,请联系我们删除。
《包含gitea使用的词条》来自互联网同行内容,若有侵权,请联系我们删除!