Conversation
|
Multi-stage build #3048 could be an option and subject for improvements. |
|
Building |
I updated the patch. Use kkimurak/docker-gitlab@38573922 or use following content as-is: diff --git a/scripts/frontend/preinstall.mjs b/scripts/frontend/preinstall.mjs
index e86525cd20d2..f849c423f1b6 100644
--- a/scripts/frontend/preinstall.mjs
+++ b/scripts/frontend/preinstall.mjs
@@ -1,5 +1,5 @@
import { join } from 'node:path';
-import { readFile, rm } from 'node:fs/promises';
+import { readdir, readFile, rm, stat } from 'node:fs/promises';
const ROOT_PATH = join(import.meta.dirname, '..', '..');
const NODE_MODULES = join(ROOT_PATH, 'node_modules');
@@ -54,5 +54,14 @@ if (!arraysHaveSameItems(prevTopLevelPatterns, currentTopLevelPatterns)) {
console.error(
'[WARNING] package.json changed significantly. Removing node_modules to be sure there are no problems.',
);
- await rm(NODE_MODULES, { recursive: true, force: true });
+ // sameersbn/gitlab : avoid removing NODE_MODULES directly, iterate its content instead
+ // The path NODE_MODULES is declared as docker volume - always busy so that cannot be removed
+ // before iterating, check if the directory exists
+ const isDirectory = await stat(NODE_MODULES).then((stat) => stat.isDirectory()).catch(() => false);
+ if(isDirectory) {
+ for (const dir_ent of await readdir(NODE_MODULES, { withFileTypes: true})) {
+ const to_remove = join(NODE_MODULES, dir_ent.name);
+ await rm(to_remove, { recursive: true, force: true });
+ }
+ }
} |
|
@kkimurak Thanks for the opportunity to pick cherries. |
|
Oops I noticed that I have pushed something strange (I'm not sure but it now treated as "binary file" even I redirected Force pushed to fix : kkimurak/docker-gitlab@a2799ac |
…ir.patch File updated No changes to the scripts we want to modify - Simplify fileURLToPath usage in scripts https://gitlab.com/gitlab-org/gitlab/-/merge_requests/173402 especially in commit https://gitlab.com/gitlab-org/gitlab/-/commit/462273d2ba17d2a506caf962830344798b1598cc first contained in : v17.7.0-ee
18253e3 to
3cde3ca
Compare
|
You're welcome. I did a |
|
CI failed with error message
which is a result of the script
Hints:
|
|
Hmm, gitlab container seems to be restarting. I built the image locally and checking if it works.. |
|
packages for noble are available: https://packages.gitlab.com/app/gitlab/gitlab-ce/search?dist=ubuntu%2Fnoble |
|
ok nginx setting issue as the source changed from ubuntu ppa to nginx official repository: |
|
At least it launches successfully after applying kkimurak/docker-gitlab@3c6a248 , kkimurak/docker-gitlab@545a56b and kkimurak/docker-gitlab@478afba . Although I have not yet been able to identify the cause of each patch being required, I have at least confirmed that gitlab starts, that the administrator password can be reset from the WebUI when logging in for the first time, and that I can log in as admin. |
as default ppa repository for ubuntu jammy provides suitable version of nginx ( >= 1.12.1)
Because this is required on runtime and BUILD_DEPENDENCIES will be removed at the end of installation Installation of `libyaml-dev` is written in Dockerfile so additional installation is not reeded if not, following error reported on runtime > LoadError: libyaml-0.so.2: cannot open shared object file: No such or directory - /usr/local/lib/ruby/3.2.0/x86_64-linux/psych.so This is because Ruby 3.2.0 (psych 5.0.0) or later does not contain libyaml any more ruby/psych#541
instead of `find /usr/lib/postgresql -name pg_isready | sort | tail -n1`
for db readiness query command
To solve following error:
find /var/lib/postgresql : No such file or directory
I'm sure the directory is exists so I'm not sure why the error reported
|
@kkimurak Thanks for your commits. However, I'd like to leave some notes for future updates.
|
|
The build process has been successfully completed and the application works in principle. Is there anything against merging the pull request? If not, I'll do a (manual) merge train to arrive at versions 17.7.2 and 17.8.0 of GitLab CE. |
|
Is the build also working with noble? Would it not be easier for the future to go directly to noble? |
|
@th-2021 I didn't try to use noble since the offical docker image of gitlab uses jammy as well. Since the project is about 1 month behind the upstream project, I would prefer to catch up first and then integrate further adjustments, optimizations and improvements. |
GitLab 17.7 Release (see https://about.gitlab.com/releases/2024/12/19/gitlab-17-7-released/)
Hints:
focaltojammy).Todo:
focaltojammy. (I guess we have to change tonoblelater. Even to official image usesjammy.)