THẢO LUẬN

thg 10 10, 2020 3:24 SA

@thungrac43 chào bạn,

không hiểu sao bạn lại phải phức tạp hoá vấn đề như vậy,

Vì bạn vẫn cứ khăng khăng nên mình đã trực tiếp cài Gitlab runner ở máy riêng của mình và chạy CICD trên đó (thật may Gitlab cung cấp sẵn Docker image cho Gitlab runner nên để setup gitlab runner ở local rất dễ)

Và như bạn thấy ở pipeline mới nhất của mình kết quả tương tự, chạy ngon. Và không có bất kì thứ gì thay đổi như kiểu đường dẫn này nọ. Service MongoDB vẫn chạy ngon, test vẫn ok, không có gì khác.

Note: Runner của mình có tag là my-runner, show ngay ở trong từng job (trường hợp bạn muốn kiểm chứng đó chính xác là Gitlab runner của mình và do mình setup), và hoàn toàn không có gì setup đặc biệt, mình chỉ làm theo các bước hướng dẫn khi cài Gitblab runner.

Do vậy mình nghĩ setup của bạn mới là có vấn đề, chứ không phải Share Runner khác với Runner ta tự build, hay là do dùng đường dẫn tương đối/tuyệt đối hay là gì, mình hoàn toàn không cần quan tâm tới điều đó, job cứ chạy như thường dù là Share runner hay Specific Runner (runner tự build).

Hoàn toàn chẳng cần phải biết relative path tương ứng với absolute path trong Gitlab runner,... các thứ như bạn nói.

Mình đã demo đủ mọi cách để chứng minh cho bạn thấy (cả setup Gitlab runner ở local như bạn) tất cả đều không lỗi lầm và có sự khác biệt gì. Nếu bạn vẫn không hiểu thì mình chỉ còn cách mượn bạn cái chiếu 🤣🤣.

0

Hu vọng được đọc nhiều bài viết tương tự như thế này nữa.

0
thg 10 9, 2020 2:21 CH

thank b

0
thg 10 9, 2020 2:10 CH

Bạn có thể miêu tả chi tiết hơn yêu cầu của thầy bạn được không. Nếu chỉ nói là tạo một cái bốc thăm trên Facebook thì cũng rất khó hiểu, không rõ mục đích cuối cùng sẽ phải làm gì (^^;)

Làm thông qua API tức là bạn sẽ dùng code để tạo ra nó, thay vì thao tác thủ công trên giao diện của Facebook. Do đó, về bản chất thì bạn vẫn cần phải làm được việc đó trên trang Facebook của mình trước, rồi mới nghĩ đến việc dùng API gì và code như thế nào.

Bởi vậy bạn có thể tạo ra một cái bốc thăm trên Facebook bằng các thao tác trên trình duyệt của mình, rồi gửi link lên đây để cho mọi người check được không, để xem thực ra nó là cái gì 😄

0

Cảm ơn bạn.

0

Thường trong tuần anh bận công việc, cuối tuần mới viết bài được em ơi 😛

0

Được luôn =))

+1

Bạn hiểu nhầm ý của mình rồi, nên mình sửa lại tiêu đề câu hỏi một chút. Vị trí chuộc khác với vị trí dấu nhắc đánh chữ. Xin lỗi.

0

lần này làm thật =))

0

không phải tiêu đề là "thử làm chức năng kết nối csdl" à =))

0
thg 10 9, 2020 9:07 SA

rất hay cám ơn bạn!

0

@sangcao1003 có cách nào để lưu token của sanctum vào Redis được không bạn, và hiện tại token của sanctum nó đang lưu ở trong database bạn nhỉ?

0
thg 10 9, 2020 8:54 SA

@hoangminhhuet cái đó chắc bạn cũng biết rồi cậu ơi, cái bạn kia hỏi và có thể thêm điều điện bổ sung như "!=" hoặc là where in cơ. attempt chỉ nhận về mảng và nó sẽ so sánh bằng hết c ạ.
chắc chỉ còn cách của @phuongth thôi 😄

+1
thg 10 9, 2020 8:45 SA

Laravel là gì cơ ạ ???

0
thg 10 9, 2020 8:41 SA

bản chất là thông qua thằng ReflectionClass gọi đến thằng ReflectionMethod dùng để set method accessibility rồi có thể gọi được cả các method protected và private thui bạn . Bạn có thể xem 1 ví dụ khác phía dưới:

<?php
class Foo {
  private function myPrivateMethod() {
    return 7;
  }
}

$method = new ReflectionMethod('Foo', 'myPrivateMethod');
$method->setAccessible(true);

echo $method->invoke(new Foo);
// echos "7"
?>
0

Được anh ơiiii, để em tìm hiểu ạ

0

@kybh Làm tí format code cho nó đẹp em nhỉ?

0
thg 10 9, 2020 8:07 SA

@maitrungduc1410

Mình cũng ko có thời gian cài hẳn Gitlab Runner vào máy nên ko test trực tiếp đc.

=> Vậy tức là bạn đang chạy shared gitlab-runner của gitlab. Vậy thì bạn không bị lỗi là bình thường, vì mình chạy cũng không bị lỗi. Do runner của gitlab chắc chắn là khác runner tự build.

Lỗi này mình đã thử đã thử "cố tình" setup để permission

=> bạn nói đúng rồi đó. Lỗi khi sai permission. Ví dụ này bạn đang dùng user 1000:1000. Nhưng ở bài non root trước bạn dùng user 1410:1410. Vậy bạn nghĩ sao khi đổi lại là dùng user này cho service app và db. Chắc chắn sẽ lỗi.

Ở đây bạn dùng relative path cũng được, mình không nói là phải dùng absolute path. Nhưng bạn phải biết relative path này tương ứng với absolute path của bạn ở đâu trong runner, và trước khi chạy job, bạn phải set perrmission cho nó để user trong service app và db có quyền truy cập đến.

Còn bạn nói:

Đoạn mình thắc mình thấy chỉ là "ko hiểu" tại sao Gitlab runner lại tự biết mà đổi quyền về luôn cho mình thôi

Là hoàn toàn sai trong trường hợp bạn dùng gitlab-runner tự build (không phải shared gitlab-runner của gitlab)

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí