在Ubuntu 16.04上安裝和配置GitLab的方法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站。

簡介

GitLab CE(Community Edition)是一個開源應用程序,主要用于托管 Git 倉庫,并提供額外的與開發相關的功能,如問題跟蹤。它旨在使用您自己的基礎設施進行托管,并提供靈活性,可將其部署為開發團隊的內部倉庫存儲,公開作為與用戶交互的方式,甚至作為貢獻者托管其自己項目的方式。

GitLab 項目使在自己的硬件上設置 GitLab 實例相對簡單,具有簡單的安裝機制。在本指南中,我們將介紹如何在 Ubuntu 16.04 服務器上安裝和配置 GitLab。

先決條件

本教程假定您可以訪問一個全新的 Ubuntu 16.04 服務器。發布的 GitLab 硬件要求建議使用具有以下配置的服務器:

  • 2 個核心
  • 4GB 的 RAM

盡管您可能可以通過將一些交換空間替換為 RAM 來滿足要求,但不建議這樣做。在本指南中,我們將假設您至少具有上述資源。

為了開始,您需要在服務器上配置一個具有 sudo 訪問權限的非根用戶。另外,設置一個基本的防火墻以提供額外的安全層也是一個好主意。您可以按照我們的 Ubuntu 16.04 初始服務器設置指南中的步驟進行設置。

當您滿足上述先決條件后,繼續開始安裝過程。

安裝依賴項

在安裝 GitLab 本身之前,重要的是安裝一些在安裝過程中和持續運行中它所利用的軟件。幸運的是,所有必需的軟件都可以輕松地從 Ubuntu 的默認軟件包存儲庫中安裝。

由于這是我們在本次會話中第一次使用 apt,我們可以通過輸入以下命令來刷新本地軟件包索引,然后安裝依賴項:

sudo apt-get update
sudo apt-get install ca-certificates curl openssh-server postfix

您可能已經安裝了其中一些軟件。對于 postfix 安裝,選擇在提示時選擇 Internet Site。在下一個屏幕上,輸入您的服務器域名或 IP 地址以配置系統發送郵件的方式。

安裝 GitLab

現在依賴項已經就位,我們可以安裝 GitLab 本身了。這是一個直接的過程,利用安裝腳本來配置您的系統與 GitLab 倉庫。

進入 /tmp 目錄,然后下載安裝腳本:

cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

隨時隨地檢查下載的腳本,以確保您對它將要執行的操作感到滿意。您也可以在這里找到托管版本的腳本:

less /tmp/script.deb.sh

一旦您對腳本的安全性感到滿意,運行安裝程序:

sudo bash /tmp/script.deb.sh

該腳本將設置您的服務器以使用由 GitLab 維護的倉庫。這使您可以使用用于其他系統軟件包的包管理工具來管理 GitLab。完成后,您可以使用 apt 安裝實際的 GitLab 應用程序:

sudo apt-get install gitlab-ce

這將在您的系統上安裝必要的組件。

調整防火墻規則

在配置 GitLab 之前,您需要確保您的防火墻規則足夠寬松,以允許 Web 流量。如果您按照先決條件中的鏈接中的指南進行操作,您將啟用 ufw 防火墻。

通過輸入以下命令查看當前活動防火墻的狀態:

sudo ufw status
狀態:activeTo                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)

如您所見,當前規則允許 SSH 流量通過,但對其他服務的訪問受限。由于 GitLab 是一個 Web 應用程序,我們應該允許 HTTP 訪問。如果您的 GitLab 服務器關聯有域名,GitLab 還可以請求并啟用來自 Let’s Encrypt 項目的免費 TLS/SSL 證書以保護您的安裝。在這種情況下,我們還需要允許 HTTPS 訪問。

由于 HTTP 和 HTTPS 的協議到端口的映射在 /etc/services 文件中可用,我們可以通過名稱允許該流量進入。如果您之前未啟用 OpenSSH 流量,現在應該允許該流量:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

如果再次運行 ufw status 命令,您應該至少看到已配置訪問這兩個服務:

sudo ufw status
狀態:activeTo                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
443                        ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)             
443 (v6)                   ALLOW       Anywhere (v6)

上述輸出表明一旦我們配置應用程序,GitLab Web 界面將是可訪問的。

編輯 GitLab 配置文件

在使用該應用程序之前,您需要更新一個配置文件并運行重新配置命令。首先,打開 Gitlab 的配置文件:

sudo nano /etc/gitlab/gitlab.rb

在文件頂部附近是 external_url 配置行。將其更新為與您自己的域名或 IP 地址匹配。如果您有一個域名,請將 http 更改為 https,這樣 GitLab 將自動將用戶重定向到由我們將要請求的 Let’s Encrypt 證書保護的站點。

# 如果您的 GitLab 服務器沒有域名,您將需要使用 IP 地址而不是域名,并保持協議為 `http`。
external_url 'https://yourdomain'

接下來,如果您的 GitLab 服務器有一個域名,請搜索文件以查找 letsencrypt['enable'] 設置。取消注釋該行并將其設置為 true。這將告訴 GitLab 為您的 GitLab 域請求 Let’s Encrypt 證書并配置應用程序以使用它提供流量。

在下面,查找 letsencrypt['contact_emails'] 設置。此設置定義了 Let’s Encrypt 項目可以使用的電子郵件地址列表,以便在您的域名出現問題時與您聯系。取消注釋并填寫這個設置也是個好主意,這樣您就會知道是否有任何問題:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['sammy@yourdomain.com']

保存并關閉文件。現在,運行以下命令以重新配置 Gitlab:

sudo gitlab-ctl reconfigure

這將使用它可以找到的關于您的服務器的信息初始化 GitLab。這是一個完全自動化的過程,因此您不必回答任何提示。如果您啟用了 Let’s Encrypt 集成,證書應該已經為您的域配置好了。

通過 Web 界面執行初始配置

現在 GitLab 正在運行并且允許訪問,我們可以通過 Web 界面對應用程序進行一些初始配置。

首次登錄

在 Web 瀏覽器中訪問您的 GitLab 服務器的域名:

http://gitlab_domain_or_IP

如果您啟用了 Let’s Encrypt 并在您的 external_url 中使用了 https,您應該會被重定向到一個安全的 HTTPS 連接。

在首次訪問時,您應該會看到一個初始提示,要求為管理員帳戶設置密碼:

!GitLab 初始密碼設置提示

在初始密碼提示中,提供并確認管理員帳戶的安全密碼。完成后,單擊 Change your password 按鈕。

您將被重定向到常規的 GitLab 登錄頁面:

!GitLab 首次登錄提示

在這里,您可以使用剛剛設置的密碼登錄。憑證為:

  • 用戶名:root
  • 密碼:[您設置的密碼]

將這些值輸入到現有用戶字段中,然后單擊 Sign in 按鈕。您將登錄到應用程序,并被帶到一個提示您開始添加項目的著陸頁面:

!GitLab 初始登錄著陸頁面

現在,您可以進行一些簡單的更改,以使 GitLab 以您喜歡的方式設置。

調整您的個人資料設置

在新安裝后,您應該做的第一件事之一是將您的個人資料整理好。GitLab 選擇了一些合理的默認值,但一旦您開始使用該軟件,這些通常是不合適的。

要進行必要的修改,請單擊界面右上角的用戶圖標。在出現的下拉菜單中,選擇 Settings

!GitLab 個人資料設置按鈕

您將被帶到您的設置的 Profile 部分:

!GitLab 個人資料設置頁面

NameEmail 地址從 “Administrator” 和 “admin@example.com” 調整為更準確的內容。您選擇的名稱將顯示給其他用戶,而電子郵件將用于默認頭像檢測、通知、通過界面進行的 Git 操作等。

完成后,單擊底部的 Update Profile settings 按鈕:

!GitLab 更新個人資料設置按鈕

確認電子郵件將發送到您提供的地址。按照電子郵件中的說明確認您的帳戶,以便您可以開始在 GitLab 中使用它。

更改您的帳戶名

接下來,單擊左側菜單欄中的 Account 項目:

!GitLab 帳戶菜單項

在這里,您可以找到您的私人 API 令牌或配置雙因素身份驗證。但是,我們目前感興趣的功能是 Change username 部分。

默認情況下,第一個管理員帳戶被賦予名稱 root。由于這是一個已知的帳戶名,將其更改為不同的名稱更安全。您仍將擁有管理員權限;唯一會改變的是名稱:

!GitLab 更改用戶名部分

單擊 Update username 按鈕進行更改:

!GitLab 更新用戶名按鈕

下次登錄到 GitLab 時,請記住使用您的新用戶名。

將 SSH 密鑰添加到您的賬戶

在大多數情況下,您會希望使用 SSH 密鑰與 Git 交互以訪問您的 GitLab 項目。為此,您需要將您的 SSH 公鑰添加到您的 GitLab 賬戶。

如果您已經在本地計算機上創建了 SSH 密鑰對,您通常可以通過輸入以下命令查看公鑰:

cat ~/.ssh/id_rsa.pub

您應該會看到一大段文本,就像這樣:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop

復制這段文本,然后返回到 GitLab 網頁界面的個人資料設置頁面。

如果您得到的是以下消息,說明您的計算機上尚未配置 SSH 密鑰對:

cat: /home/sammy/.ssh/id_rsa.pub: No such file or directory

如果是這種情況,您可以通過輸入以下命令來創建 SSH 密鑰對:

ssh-keygen

接受默認設置,并可選擇提供密碼以在本地保護密鑰:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/sammy/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/sammy/.ssh/id_rsa.
Your public key has been saved in /home/sammy/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:I8v5/M5xOicZRZq/XRcSBNxTQV2BZszjlWaIHi5chc0 sammy@gitlab.docsthat.work
The key's randomart image is:
+---[RSA 2048]----+
|          ..%o==B|
|           *.E =.|
|        . ++= B  |
|         ooo.o . |
|      . S .o  . .|
|     . + .. .   o|
|      +   .o.o ..|
|       o .++o .  |
|        oo=+     |
+----[SHA256]-----+

完成后,您可以通過輸入以下命令顯示您的公鑰,就像之前一樣:

cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop

復制顯示的文本塊,然后返回到 GitLab 網頁界面的個人資料設置。

點擊左側菜單中的SSH Keys項:

!GitLab SSH Keys 菜單項

在提供的空間中粘貼您從本地計算機復制的公鑰。給它一個描述性的標題,然后點擊Add key按鈕:

!GitLab 添加 SSH 密鑰

現在,您應該能夠在本地計算機上管理您的 GitLab 項目和倉庫,而無需提供您的 GitLab 賬戶憑據。

限制或禁用公共注冊(可選)

您可能已經注意到,當您訪問您的 GitLab 實例的登錄頁面時,任何人都可以注冊帳戶。如果您希望托管公共項目,這可能是您想要的。然而,許多時候,更嚴格的設置是可取的。

首先,點擊頁面頂部主菜單欄中的扳手圖標,進入管理區域:

!GitLab 管理區域按鈕

在接下來的頁面上,您可以看到整個 GitLab 實例的概述。要調整設置,請點擊左側菜單底部的設置選項。

!GitLab 管理設置按鈕

您將進入到 GitLab 實例的全局設置頁面。在這里,您可以調整一些影響新用戶是否可以注冊以及他們的訪問級別的設置。

禁用注冊

如果您希望完全禁用注冊(您仍然可以手動創建新用戶的帳戶),請滾動到注冊限制部分。

取消選擇啟用注冊復選框:

!GitLab 取消選擇啟用注冊

滾動到頁面底部,點擊保存按鈕:

!GitLab 保存設置按鈕

注冊部分現在應該從 GitLab 登錄頁面中移除了。

按域限制注冊

如果您正在使用 GitLab 作為提供與域相關的電子郵件地址的組織的一部分,您可以通過域來限制注冊,而不是完全禁用它們。

注冊限制部分,首先選擇注冊時發送確認電子郵件框,只有在用戶確認了他們的電子郵件后才允許登錄。

接下來,將您的域或域添加到注冊白名單域框中,每行一個。您可以使用星號“*”來指定通配符域:

!GitLab 按域限制注冊

滾動到頁面底部,點擊保存按鈕:

!GitLab 保存設置按鈕

注冊部分現在應該從 GitLab 登錄頁面中移除了。

限制項目創建

默認情況下,新用戶可以創建多達 10 個項目。如果您希望允許外部新用戶進行可見性和參與,但希望限制他們創建新項目的訪問權限,您可以在帳戶和限制設置部分進行設置。

在其中,您可以將默認項目限制更改為 0,以完全禁止新用戶創建項目:

!GitLab 將項目設置為零

新用戶仍然可以手動添加到項目中,并且可以訪問其他用戶創建的內部或公共項目。

滾動到頁面底部,點擊保存按鈕:

!GitLab 保存設置按鈕

新用戶現在可以創建帳戶,但無法創建項目。

創建定期任務以自動更新 Let’s Encrypt 證書

根據設計,Let’s Encrypt 證書僅有效期為 90 天。如果您之前為您的 GitLab 域啟用了 Let’s Encrypt,您需要確保定期更新您的證書,以避免服務中斷。GitLab 提供了gitlab-ctl renew-le-certs命令,在當前資產接近到期時請求新證書。

為了自動化這個過程,我們可以創建一個定期任務,定期運行這個命令。該命令只會在證書接近到期時進行更新,因此我們可以安全地定期運行它。

首先,在您的文本編輯器中創建并打開/etc/cron.daily/gitlab-le文件:

sudo nano /etc/cron.daily/gitlab-le

在其中,粘貼以下腳本:


#!/bin/bashset -e/usr/bin/gitlab-ctl renew-le-certs > /dev/null

完成后保存并關閉文件。

通過輸入以下命令將文件標記為可執行:

sudo chmod +x /etc/cron.daily/gitlab-le

現在,GitLab 應該每天自動檢查其 Let’s Encrypt 證書是否需要更新。如果需要,命令將自動更新證書。

結論

您現在應該在自己的服務器上擁有一個正常運行的 GitLab 實例。您可以開始導入或創建新項目,并為您的團隊配置適當的訪問級別。GitLab 定期添加功能并對其平臺進行更新,因此請務必查看項目的主頁,以了解任何改進或重要通知的最新信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37960.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37960.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37960.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI在創造還是毀掉音樂之論文

AI在創造還是毀掉音樂? 簡介:最近一個月,輪番上線的音樂大模型,一舉將素人生產音樂的門檻降到了最低,并掀起了音樂圈會不會被AI徹底顛覆的討論。短暫的興奮后,AI產品的版權歸屬于誰,創意產業要…

一秒記單詞:音通義通,一秒牢記

一秒記單詞,從小學到高中,一秒牢記 一、小學生記單詞,快速突破 1.1 好的開始,是成功的一半 sun n.太陽 【通】尚 moon n.月亮 【通】母恩 mother n.母親,媽 【通】媽汁 sea n.海,大海 【通】細 sand …

【MySQL基礎篇】SQL指令:DQL及DCL

1、DQL DQL - 介紹 DQL英文全稱是Data Query Language(數據查詢語言),數據查詢語言,用來查詢數據表中的記錄。(在MySQL中應用是最為廣泛的) 查詢關鍵字:SELECT DQL - 語法 SELECT 字段列表 FROM 表名列表 WHER…

【人工智能學習之圖像操作(六)】

【人工智能學習之圖像操作(六)】 Hough變換直線檢測圓檢測 圖像分割 Hough變換 在圖像處理中,霍夫變換用來檢測任意能夠用數學公式表達的形狀,即使這個形狀被破壞或者有點扭曲 直線檢測 import cv2 import numpy as np image …

利用微信開放標簽<wx-open-launch-weapp>在H5中跳轉微信小程序報錯完美的解決方案

一、報錯&#xff1a; [WXTAG] [JSCORE] The slot <template> or <script type"text/wxtag-template"> of <wx-open-launch-weapp> is missing 二、源碼 官方源代碼如下&#xff0c;<script type"text/wxtag-template"></sc…

美團外賣搜索基于Elasticsearch的優化實踐--圖文解析

美團外賣搜索基于Elasticsearch的優化實踐–圖文解析 前言 美團在外賣搜索業務場景中大規模地使用了 Elasticsearch 作為底層檢索引擎&#xff0c;隨著業務量越來越大&#xff0c;檢索速度變慢了&#xff0c;CPU快累趴了&#xff0c;所以要進行優化。經過檢測&#xff0c;發現…

gcop:簡化 Git 提交流程的高效助手 | 一鍵生成 commit message

&#x1f496; 大家好&#xff0c;我是Zeeland。Tags: 大模型創業、LangChain Top Contributor、算法工程師、Promptulate founder、Python開發者。&#x1f4e3; 個人說明書&#xff1a;Zeeland&#x1f4e3; 個人網站&#xff1a;https://me.zeeland.cn/&#x1f4da; Github…

[SAP ABAP] 數據字典

ABAP數據字典是定義和管理數據庫對象的工具 系統的所有全局數據類型以及數據庫表結構等都需要在數據字典中創建和維護(數據字典中的對象對所有ABAP程序都是全局的) 通過數據字典&#xff0c;我們可以把數據庫對象管理好&#xff0c;后續才能順利的進行功能開發&#xff0c;SA…

華為面試題及答案——大數據

(1)namenode內存滿了,如何進行擴容,調什么參數。 1. 增加 NameNode 的內存 在 hadoop-env.sh 文件中,可以增加 JVM 分配給 NameNode 的內存。通常是在 HADOOP_NAMENODE_OPTS 中增加 -Xmx 參數來增加最大堆內存。 export HADOOP_NAMENODE_OPTS="-Xmx8g -Xms4g ${HA…

集合,Collection接口

可動態保存任意多個對象&#xff0c;使用比較方便 提供了一系列方便操作對象的方法&#xff1a;add&#xff0c;remove&#xff0c;set&#xff0c;get等 使用集合添加刪除新元素&#xff0c;代碼簡潔明了 單列集合 多列集合 Collection接口 常用方法 List list new Arra…

設計模式詳解(一)——策略模式

策略模式&#xff08;Strategy Pattern&#xff09;是一種行為型的設計模式&#xff0c;它允許你定義一系列算法&#xff0c;然后將它們封裝起來&#xff0c;使它們可以相互替換。這樣做的好處是&#xff0c;你可以動態地選擇要使用的算法&#xff0c;而不必在運行時進行檢查或…

多媒體基礎

筆者按&#xff1a; 昨日復習的信息網絡安全約莫是掛了&#xff0c;常言道&#xff1a;知恥而后勇。誠如斯言 于是決心多媒體是不能再掛了&#xff0c;不然直接變成xxx之流&#xff0c;自增笑耳 語雀鏈接&#xff1a;多媒體基礎 一.多媒體計算機概述 媒體&#xff1a;承載信息…

動手學深度學習(Pytorch版)代碼實踐 -卷積神經網絡-21多輸入多輸出通道

21多輸入多輸出通道 import torch from d2l import torch as d2ldef corr2d(X, K):"""計算二維互相關運算"""h, w K.shapeY torch.zeros((X.shape[0] - h 1, X.shape[1] - w 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):Y[i,…

go語言DAY7 字典Map 指針 結構體 函數

Go中Map底層原理剖析_go map底層實現-CSDN博客 目錄 Map 鍵值對key,value 注意&#xff1a; map唯一確定的key值通過哈希運算得出哈希值 一、 map的聲明及初始化&#xff1a; 二、 map的增刪改查操作&#xff1a; 三、 map的賦值操作與切片對比&#xff1a; 四、 通用所有…

[leetcode hot 150]第一百二十二題,買賣股票的最佳時機Ⅱ

題目&#xff1a; 給你一個整數數組 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的價格。 在每一天&#xff0c;你可以決定是否購買和/或出售股票。你在任何時候 最多 只能持有 一股 股票。你也可以先購買&#xff0c;然后在 同一天 出售。 返回 你能獲得的 最大…

【C++】初識C++(一)

一.什么是C C語言是結構化和模塊化的語言&#xff0c;適合處理較小規模的程序。對于復雜的問題&#xff0c;規模較大的程序&#xff0c;需要高度 的抽象和建模時&#xff0c;C語言則不合適。為了解決軟件危機&#xff0c; 20世紀80年代&#xff0c; 計算機界提出了OOP(object o…

圖形處理單元(GPU)在現代計算中的應用與挑戰(研究論文框架)

摘要:隨著高性能計算需求的日益增長,圖形處理單元(GPU)已從專業的圖形渲染處理器轉變為具有高性能并行處理能力的多功能計算平臺。本文將探討GPU的核心優勢、編程模型、在不同領域的應用以及面臨的挑戰和限制。此外,還將討論GPU技術的未來發展趨勢和潛在的研究機會。 關鍵…

mongodb 查詢語句學習筆記

基礎查詢 正則查詢 {status: A,$or: [{ qty: { $lt: 30 } }, { item: { $regex: ^p } }] }AND 查詢 { "size.h": { $lt: 15 }, "size.uom": "in", status: "D" }OR 查詢 { $or: [ { status: "A" }, { qty: { $lt: 30 } …

2024年機動車簽字授權人題庫,助你沖刺!絕對不會讓你后悔!

61.&#xff08;&#xff09;使汽車按駕駛人選定的方向行駛。 A.傳動系統 B.行駛系統 C.轉向系統 D.制動系統 答案&#xff1a;C 62.&#xff08;&#xff09;使汽車各總成及部件安裝在適當的位置&#xff0c;對全車起支承作用以保證汽車正常行駛。 A.傳動系統 B.行駛系…

01.計算機圖形學概述

01.計算機圖形學概述 從技術的角度上看&#xff0c;什么是一個好的畫面&#xff1f; 直接看這個畫面是不是足夠亮&#xff0c;這體現了渲染中的一個技術叫全局光照。 應用范圍 游戲&#xff08; Video Games&#xff09;電影/特效&#xff08; Movies&#xff09;動漫/動畫&…